在web服务器性能测试中,并发数是一个很多人比较关心的话题之一,web服务器软件中也有很多并发数设置的地方。但是怎样的并发数设置才是合理的呢,这就涉及到并发数调优了。本文在前人研究的并发数规律的基础上进行了jmeter的压测实践,验证了此规律。
为了充分利用CPU资源,一般人可能认为适合的线程数量等于CPU数量+1或CPU数量-1,但是,淘宝蒋江伟在QCon2011的演讲PPT(点此查看)中指出,线程数量=((CPU时间+CPU等待时间) / CPU时间) * CPU数量。这个公式只是针对CPU而言,准确来讲,是当机器的瓶颈资源是CPU的时候而言。更一般的,瓶颈资源的线程并行数=瓶颈资源的总份数/单次请求占用瓶颈资源的份数。
对此用下面几个简单servlet测试下:
(jmeter请求端与tomat服务端在同一机器上;测试机器CPU为intel双核;servlet容器:tomat5.5,jvm xmin=xmax=256m;)
1. 模拟进行IO操作