1.项目中进行进行压力测试,起900线程循环去压服务器,经过一段时间,TPS一直增长最后趋于稳定值,此时服务器状态如下:可用内存一直减小至一个稳定值,cpu的使用率增长至一个稳定值,无论压测多长时间,这些值全部保持稳定。此时TPS就是每秒系统的请求处理数,我的问题是:
1.1>采取什么办法,能够更加让服务器满负荷运行,即极限压测(cpu使用率逼近100%,可用内存逼近0,暂时不考虑带宽影响)?
1.2>为什么会出现上述趋势?
谢谢各位,最后确认无法逼近极限压测的原因有内部和外部,外部就是上述各位的回答,压力不太够,内部则是代码质量,内存,带宽,cpu,redis某一项的瓶颈导致。至于上述的趋势出现的原因,则刚开始,系统各项没有达到瓶颈,TPS一直增长,最后趋于稳定,则系统的并发量也趋于稳定,在压力足够的情况下,此时的稳定TPS就是系统的实际最大每秒处理数,不知道正确与否/
可以到我博客处下载压力测试工具试一下,可能你自己写代码线程并没起并发效果。
900线程少了,加大压力
可能你测试的电脑已经到极限了,多开几个测试的电脑
理论上cpu能不能打满,关键要看被测服务对系统资源的使用率,有可能服务本身cpu使用不饱满,有可能你们的代码有瓶颈,没有利用好cpu;另外也没有所谓的趋于稳定这一说,按照45%、75%、100%这几个段去分开测试,各种资源都在45%情况下,就是最健康的,75%的情况下,属于能够达到的极限。
你的流量没打上去,主要还是攻击的方式问题,不是线程多就带宽高就一定能上去,主要还是攻击机器的cpu和带宽使用是否最饱满,而且多用一些机器,用多进程去搞,效果就会好多了。
900的线程确实也太小了。。。
受教,多谢!