增城电子商务网站建设,纯jsp做的留言板网站,百度小说搜索风云榜总榜,什么样的网站利于百度优化上次面试被人问到#xff0c;如果是IO 密集型的任务#xff0c;该如何配置合适的线程数#xff0c;当初我说要按照IO具体的请求毫秒时间#xff0c;来配置具体的线程数。 NthreadsNcpu*(1w/c)
公式中 W/C 为系统 阻塞率 w:等待时间 c:计算时间一般情况下#xff0c;如果存… 上次面试被人问到如果是IO 密集型的任务该如何配置合适的线程数当初我说要按照IO具体的请求毫秒时间来配置具体的线程数。 NthreadsNcpu*(1w/c)
公式中 W/C 为系统 阻塞率 w:等待时间 c:计算时间一般情况下如果存在IO那么肯定w/c1阻塞耗时一般都是计算耗时的很多倍,但是需要考虑系统内存有限每开启一个线程都需要内存空间这里需要上服务器测试具体多少个线程数适合CPU占比、线程数、总耗时、内存消耗。如果不想去测试保守点取1即NthreadsNcpu*(11)2Ncpu。这样设置一般都OK
至于CPU 密集型 一般
NthreadsNcpu1
w/c 0
理解也是正确的1 主要是防止因为系统上下文切换让系统资源跑满面试官还问我如果主要两种任务 一个耗时500ms, 另一种耗时200ms 如何设置 线程数。 我当时 觉得应该用两个线程池 分别根据 W/C 设置最优参数。
如果用一个线程池 那就要根据两种任务的数量比重统计出 耗时中位数然后再根据 W/C 设置线程数。