什么是最佳线程数?
为满足更多用户访问需求,可以调整Tomcat线程数,但是不能太大,否则导致线程切换开销,随着用户递增(线程数也随之调整),系统QPS逐渐增加,当用户量达到某个值,QPS并不会增加,或者增加不明显,同时请求的响应时间却大幅增加。这个阀值认为是最佳线程数。
怎么计算最佳线程数?
(1)通过用户慢慢递增进行压测,观察QPS,响应时间
(2)通过公式计算:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量
Windows最大线程数:
在32位系统中,默认情况下一个线程的栈要预留1M的内存空间,而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程
Linux最大进程数与最大线程数,测试环境:2核4G内存 64位系统
最大进程数(pid_max):32768(理论值)
最大用户进程数(max user processes):10240(理论值)
最大线程数(threads-max):77132(理论值)
最大用户线程数:1024(理论值)
原文地址:https://blog.csdn.net/liupeng_qwert/article/details/75110911