如何测试服务器支持的最大并发连接数

如何测试服务器支持的最大并发连接数,第1张

更改服务端的I/O模型吧,这明显是服务端设计的问题。

你这样设计上线使用的话,服务器开销太大了(主要是线程切换的开销)。

//--------------------

Listen(socket,5),跟这个有一定关系。

int listen(int sockfd, int backlog)第二个参数是你监听客户端的最大个数,如连接到主机上的客户端超过其数listen则会返回一个错误代号。

backlog你可以设置大一点,如100之类的。

建议使用I/O模型吧,不要使用建立新线程来处理。

(你使用建立新线程的话,会发现每个进程所建立的最大线程数量是有一个限制的)

这个其实没有固定的算法,必须根据压测的目标特点进行估算。

以你的例子来说明:

是一天的访问量,那么我们需要知道哪几个时间段访问人数最多。

例如有10小时访问密集区,我们可以估算每小时1000用户,峰值*2或者3,也就是每小时3000,那么合计一秒钟只要3000/3600 还不足1个并发。

并发数,计算机网络术语,是指同时访问服务器站点的连接数。

由于虚拟主机是建立在每台服务器多用户的基础上的,也就是多个用户共同使用一台服务器。

为了避免同一台服务器上的某一个用户的IIS链接人数过多或占用服务器资源过多而影响其它用户的正常使用。

所以,目前所有虚拟空间提供商都对单个用户的IIS链接数,流量及服务器进程占用CPU的比率进行了相应的限制。

当某一个用户的站点超出了服务器上的设制后,访问站点时就会出现服务器忙,或目前访问该站点的人数过多,超出了WEB的处理能力等相关错误提示。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/540473.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-26
下一篇2023-06-26

发表评论

登录后才能评论

评论列表(0条)

    保存