系统并发量,由哪些因素决定,99%的人不知道
什么是并发:系统同时处理的 request或者 事务数 我们称之为并发. 然而并发数由什么决定,却是众说纷纭,我归纳总结由以下几个因素共同决定: 因素一:服务器网络带宽 因素二:服务器系统内存(注意是内存不是硬盘哦) 因素三:web容器 因素四:程序代码 1:服务器网络带宽 假如你的服务器带宽是5M,如果你的http求头是8k,那么你的服务器最大并发数是 5M/8k
什么是并发:系统同时处理的 request或者 事务数 我们称之为并发.
然而并发数由什么决定,却是众说纷纭,我归纳总结由以下几个因素共同决定:
因素一:服务器网络带宽
因素二:服务器系统内存(注意是内存不是硬盘哦)
因素三:web容器
因素四:程序代码
1:服务器网络带宽
假如你的服务器带宽是5M,如果你的http求头是8k,那么你的服务器最大并发数是 5M/8k =640
2:操作系统内存
假如你的操作系统内存是8G,如果你的每个请求占用内存256K,那么你的服务器最大支持并发数就是8G/256K=32758。这就是为啥购买服务器,内存越大,配置越高 支持的并发数越大的原因(当然money越多)。
3:web容器
web容器的选择和配置也是至关重要的,比如说tomcat 的 baseio 和nio的区别就很大,tomcat配置一般启用的是线程池,maxThreads 一般配置为操作系统支持的最大并发数
4:程序代码
程序代码放到第四才介绍,可见他的重要性,做了这么多年的程序猿,以前要是想提高并发,我总是抓破头皮的想如何提高代码质量,其实他别不那么重要(也许这样说你会感到很沮丧),更直接的且有效的方式就是提高服务器的配置即。但是,代码质量也是起着不可小觑的作用的,通常在所有的硬件条件都确定的情况下,入门级测试并发工具是 loaderrunner,我们通常挑选系统常用且耗资源的请求来测试,即可得到我们软件的并发量了。
纠错:查询一些资料,介绍说系统并发数是65535,这个认识是不正确的。65535是2的16次方的值。操作系统的端口是用一个16位的二进制表示,因此65535代表的是操作系统的端口数,0-1023端口属于保留端口,不对外开放使用。
小知识:
FTP 默认端口 21
HTTP默认端口 80
SMTP默认端口 25
TCP默认端口 22
Telnet默认端口 23
更多推荐
所有评论(0)