为什么部署到服务器上的程序,同时开线几百个程访问请求后就无法得到响应。

是这样,由于程序总是炸,于是决定看一看究竟,到底多少请求就直接会导致服务器的崩溃。

可是奇怪的是,虽然nginx设置了10000的同时最大打开文件数,但是一旦设置这个线程数会直接返回个错,好像直接拒绝了一样,奇怪。然后将线程数不断缩小测试,在设置到600多的时候,成功启动多线程访问,难道服务器真的这么脆弱?只能同时承受600多tcp请求?

其实不然。具体原因如下
nginx 可以设置最大30000个请求,但是每个请求的长度和大小不一,如果在高并发的情况下,设置30000很可能由于数据太多和太大,将服务器cpu占满了从而导致服务器崩溃。

其实单单nginx设置30000个请求是没有任何意义的,因为linuex在底层基于linux的通信程序最多允许同时1024个tcp并发连接,这个可以手动设置,但是也不能直接设置的太大,也容易使服务器崩溃,所以要不断测试找到那个中间值。

其实很多时候之所以程序能实现的功能,都是由于linuex支持的原因。

说到最后还是由于自己的基础知识不牢靠,对于高并发的解决没有经验。

猜你喜欢

转载自blog.csdn.net/qq_42584411/article/details/105072395
今日推荐