首页 > 观点 >如何处理java高并发 Linux+nginx并发连接数超10万

如何处理java高并发 Linux+nginx并发连接数超10万

    116℃       李雨宸      发布时间:2020-10-19 15:28
  

什么是并发连接数?并发连接数,是在同一秒内打开网站的请求次数。并发连接数越大,能够处理的性能越强,也代表会消耗更多的CPU和内存。当CPU或内存达到使用率的90%以上,在并发连接持续增加的情况下,网站就会出现500或502内部服务器错误。常见于win+iis系统中。


Win系统 500内部服务器错误。在并发连接数较多的情况下,会运行多个应用程序池,应用池打开运行进程过多,就会导致应用池假死,从而到时站点出现500,502内部服务器错误。


所以当win系统 iis下运行的asp,aspx php或java站点出现高并发的情况只有换Linux系统才能解决。


并发连接数和服务器的带宽,性能没有绝对的关系。并不是带宽大性能强。可以处理的并发连接数一定就强。所以新手不要被误导,不要盲目加带宽升级服务器。


如何解决php高并发?

不管是php还是java只做的程序都不适合在iis下运行,asp和aspx.net程序 在相同访问ip的情况下比linux 系统需要浪费更多的服务器,还会频繁出现宕机,服务器的成本会远远超过网站改版的成本,京东商城曾从aspx语言程序 改成linux+java。


所以要解决高并发,第一步要更换服务器系统和程序语言。通常一台linux系统主机是win iis 系统的5~10倍处理性能。


Linxu系统服务器

服务器的选择上,推荐使用阿里云的ECS服务器,带宽选择按量付费,推荐选择100M共享带宽,系统选择安装linux系统。不会操作linux的也不要担心。请访问 《如何搭建linux系统环境》


对于没有用过的新手,可以通过oneinstack 选择需要配置的环境。Php推荐选择 LNMP(linux+nginx+mysql+php)并发连接较大的可以了解下Tengine通过ssh控制面板或者阿里云的控制面板安装配置环境,复制安装命令,大约10分钟环境即可搭建完成。


nginx参数

Linux系统搭配nginx,修改nginx 配置文件,通过命令编辑nginx.conf 配置参数,即可实现处理高并发。

Linux环境下,怎么确定Nginx是以那个config文件启动的?


输入命令行: ps  -ef | grep nginx

master process 后面的就是 nginx的目录。

php-fpm 最大进程数,可运行进程数量越多,可同时处理请求的连接数就越多。


小编测试过每日400万pv的站点,峰值每秒5000个并发连接。


经过以下设置完美解决高并发的问题


pm=static

pm.max_children=100

这个指令 是 在同一时间最大动态进程数量 。小编的设置为800,即最高有800个动态进行处理并发请求。超过800以上出现过宕机,不知道是cpu问题还是内存问题导致的宕机。


 worker_rlimit_nofile 65535;

这个指令是一个nginx 进行打开的最多文件,65535是默认最高值,一般不需要调整。


request_terminate_timeout

“request_terminate_timeout”默认值是”0”


 0s的含义是让PHP-CGI一直执行下去而没有时间限制。服务器性能越好,带宽越大。可以设置的越高,这个需要根据综合的流量进行测试设置。


带宽和配置是否影响并发连接数?

影响并发连接数的主要因素不是带宽和配置,不要盲目的增配和增宽。浪费钱不说,还解决不了问题。小编曾在iis下运行php程序,峰值过1000就出现应用池假死而宕机。升级服务器和带宽仍没能解决问题。所以开始更换linux系统。


带宽的选择,建议使用按量付费共享带宽,按天按量付费。享100M带宽会随着流量的多少调节带宽出口网速。最小1m带宽,最大100m带宽,可以处理的速度就越快。

版权声明:本站原创,转载必究。
阅读原文:https://www.seotop.com/article/7.html

Top推荐
投稿须知

#付费约稿# 诚邀优秀编辑,作者投稿到本站,采用后付稿费。 我要约稿

相关推荐
核心产品
百度营销
SEO优化
新浪微博
媒体资源
软文发布
直播带货
新闻评论
知识营销
百度知道
知乎问答
悟空问答
营销资讯
SEO优化
行业观点
技术培训
扫码咨询