首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建多少线程是合适

面试中经常有人被问到线程池的数据设置多少合适呢,今天我们就看一下这个问题,首先我们需要知道两个问题 为什么使用多线程 多线程使用的场景 为什么使用多线程 使用多线程是主要目的就是提高性能,而性能的指标有很多...创建多少个线程合适呢 创建线程的多少,是要区分场景的,一般是cpu密集性和io密集性,这两种场景的是不同的计算方式 对于CPU密集型计算,多线程本质上就是提升多核cpu的利用率,所以一个4核的cpu,...每一个核创建一个线程,理论上创建4个线程就可以了,再多的线程只会增加线程切换的成本,所以对于CPU密集型计算场景,理论上线程的数据数量=CPU核数是最合适的,但是一般都会设置cpu核数+1,那是因为当线程偶发内存也失效或其他原因导致阻塞

73410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试官:MySQL一次到底插入多少条数据合适啊?

    根据应用场景和数据特性,我们有关系型数据库如MySQL,也有非关系型数据库,例如Redis。...“我每次应该插入多少数据才最合适?” 这个问题,尽管看似简单,但涉及到的策略和技术都颇为丰富。所以,本文的目的,就是带领大家一同探索这个话题。...如何决定合适的插入数据量?为了实现数据库的最大效能,确定合适的插入数据量至关重要。但这并不是一项简单的任务,需要考虑多种因素。...累积到多少数量的SQL语句时,MyBatis就会会将它们批量执行。合理设置batchSize可以避免OOM(Out of Memory)问题。...参考文献https://downloads.mysql.com/docs/refman-5.7-en.a4.pdf

    10510

    【38期】JAVA中线程池设置多少合适

    真实程序中的线程数 那么在实际的程序中,或者说一些 Java 的业务系统中,线程数(线程池大小)规划多少合适呢?...结论 没有固定答案,先设定预期,比如我期望的 CPU 利用率在多少,负载在多少,GC 频率多少之类的指标后,再通过测试不断的调整到一个合理的线程数比如一个普通的,SpringBoot 为基础的业务系统,...目标 GC 频率 / 暂停时间 - 多线程执行后,GC 频率会增高,最大能容忍到什么频率,每次暂停时间多少?...没有标准答案,一定要结合场景,带着目标,通过测试去找到一个最合适的线程数。...可能还有同学可能会有疑问:“我们系统也没啥压力,不需要那么合适的线程数,只是一个简单的异步场景,不影响系统其他功能就可以” 很正常,很多的内部业务系统,并不需要啥性能,稳定好用符合需求就可以了。

    1.6K20

    面试官:知道你的接口QPS多少么?

    正文 QPS是什么 我们先回忆一下,QPS的概念如下所示: QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。...那我们怎么估出每秒钟能处理多少请求呢? OK,用日志来估计!那日志怎么记录呢,细分下来,有两种方式。...这个接口的QPS最高,达到了惊人的2QPS! 现在,来讲一下命令什么意思!...此法可以估算出单机的某接口的QPS多少! 估算 我们现在估计出了单机的QPS。接下来,估算集群的QPS。 这就要根据负载均衡的策略来估计!...比如,你部署了32台机器,负载均衡的策略恰巧为轮询,那集群的QPS就是单机的QPS乘32就好了。 所以,根据具体的策略,来估计整个集群的QPS多大! 然后接下来就是: ?

    3.3K30

    一直再说高并发,多少QPS才算高并发?

    之后是单机nosql无法承载,需要nosql横向扩展,一般是十万到百万QPS。 最后是难以单纯横向扩展nosql,比如微博就引入多级缓存架构,这种架构一般可以应对百万到千万对nosql的访问QPS。...当然面向用户的接口请求一般到不了这个量级,QPS递增大多是由于读放大造成的压力,单也属于高并发架构考虑的范畴。 PV和QPS 比如微博每天1亿多pv的系统一般也就1500QPS,5000QPS峰值。...比如有人说: 2C4G机器单机一般1000QPS。 8C8G机器单机可承受7000QPS。...脱离业务讨论技术都是耍流氓 具体多少QPS跟业务强相关,只读接口读缓存,将压力给到缓存单机3000+没问题,写请求1000+也正常,也复杂些可能也就几百+QPS。...所以QPS和业务场景和设计相关性很大,比如可以通过浏览器本地缓存,用缓存做热点数据查询,写事务MQ异步处理等方式提升QPS

    12.7K51

    Mysql 之 IOPS、QPS、TPS相关问题总结

    ,如果你在深入想一下也会发现这只是理论而已.因为同一个请求读80M与写1K所需要的时间自然不一样,除了寻道、数据传输等方面考虑的因素其实很多很多,那么如果IOPS够高的话,那么用在OLTP系统上会更加合适...,只不过MySQL应该更加关注.获取这个指标值也很容易在MySQL中执行status命令就可以看到了.不过这个值是在MySQL生命周期内全局指标,可我们的系统不是每时每刻都在忙碌,那么在系统峰值时QPS...又是多少,我们只能自己动手算了.当我们执行status的时候有个Questions,尽管它也是全局指标.不过我们可以每隔一秒查询下这个值,并将相邻的两值相减,得到的就是精确的每一秒的实际请求数了.如果MySQL...处于繁忙的状态,那么我们获取的值就可以视为MySQL QPS的峰值响应能力了....QPS计算公式:Questions/Uptime(Uptime换成自己定义的时间单位) mysql> show global status like "Questions"; +------------

    15.8K82

    MySQL count知多少

    i<=cnt; SET i = i*2; END; END WHILE;END$$ DELIMITER ; 生成数据,本次准备生成1kw条记录 /* 调用存储过程 */mysql...参考链接 效率提升16800倍的连续整数生成方法 1.1 创建innodb表 生成3张表innodb表,如下: nums_1表只有字符串主键字段 /* 生成只有一个字符串类型字段主键的表nums_1 */mysql.../* 创建表nums_2 */mysql> create table nums_2(p1 varchar(32) primary key ,id int ,c1 varchar(10) not null...可以查统计信息,2.1中会介绍具体方法 精确查找数据量,则可以通过count(主键字段),count(*), count(1) [这里的1可以替换为任意常量] 2.1 非精确查询 如果只是查一张表大致有多少数据...因此,建议MySQL的主键使用自增id作为主键(优势不仅在数据统计上,有机会在讲解)。

    3.5K20

    (转)数据库连接池数量设置为多少合适

    一、前言 基本上来说,大部分项目都需要跟数据库做交互,那么,数据库连接池的大小设置成多大合适呢?...这个网站的数据库连接池应该设置成多大合适呢? 其实这个问法本身就是有问题的,我们需要反过来问,正确问法应该是: “这个网站的数据库连接池应该设置成多小合适呢?”...大小设置成多少合适呢? 这要取决于磁盘,如果你使用的是 SSD 固态硬盘,它不需要寻址,也不需要旋转碟片。打住打住!!!...还有,你应该模拟预期的访问量,并通过下面的公式先设置一个偏合理的值,然后在实际的测试中,通过微调,来寻找最合适的连接数大小。

    12.5K62

    MySQL优化:选择合适的数据类型

    前言 MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。...如果查询中包含可为NULL的列,对MySQL来说更难优化,因为可为NULL的列使得索引、索引统计和值比较都更复杂。可为NULL的列会使用更多的存储空间,在MySQL里也需要特殊处理。...在为列选择数据类型时,第一步需要确定合适的大类型:数字、字符串、时间等。下一步是选择具体类型。...MySQL为了兼容性支持很多别名,例如INTEGER, BOOL,以及NUMERIC,它们都只是别名。这些别名可能令人不解,但不会影响性能。...如果建表时采用数据类型的别名,然后用SHOW CREATE TABLE检查,会发现MySQL报告的是基本类型,而不是别名。

    80010

    MySQL存储引擎知多少

    存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。...一.InnoDB存储引擎 InnoDB给MySQL的表提供了事务处理、回滚、崩溃修复能力和多版本并发控制的事务安全。在MySQL从3.23.34a开始包含InnnoDB。...它是MySQL上第一个提供外键约束的表引擎。而且InnoDB对事务处理的能力,也是其他存储引擎不能比拟的。靠后版本的MySQL的默认存储引擎就是InnoDB。...MySQL中规定自增列必须为主键。...四.怎样选择存储引擎 在实际工作中,选择一个合适的存储引擎是一个比较复杂的问题。每种存储引擎都有自己的优缺点,不能笼统地说谁比谁好。 ?

    73831

    MySQL基础概念知多少

    MySQL基础概念相关的名词还是挺多的,比如3大范式、4种隔离界别、ACID、DQL、DML、DDL,还有redo、undo、binlog等,本文就统一整理下MySQL常见的基础概念,方便小伙伴们翻阅~...MySQL相关的名词概念还是挺多的,但是常用的也不多,因此将常用的统计整理下,便于回顾: •DQL:data query language,指SELECT查询语句;•DML:data manipulation...MySQL中,DDL不属于事务范畴,如果事务和DDL并行执行,操作相关联的表的话,会出现各种意想不到问题,导致事务特性被破坏或者binlog顺序错乱[1]等,为解决这些问题而引入MDL锁机制。...事务开始时将当前版本生成undo log,undo也会产生redo来保证undo log可靠性;•binlog:binlog是mysql层面的归档日志,可用于主从复制和数据库基于时间点的还原。...References [1] binlog顺序错乱: https://bugs.mysql.com/bug.php?id=989

    62910
    领券