当前服务器的并发连接数查看

最近在测试项目,项目环境是centos 5.6下,nginx,mysql,php环境的项目,数据库的数据量较大,每个表都是近亿级别的数据,多表轮询查询。

linux的最大并发允许的链接: 
查看当前服务器的并发连接数命令: 
查看使用了多少连接数: 
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count 
新版本centos用这个: 
cat /proc/sys/net/netfilter/nf_conntrack_count

查看总数多少: 
cat /proc/sys/net/ipv4/ip_conntrack_max 
新版本用这个: 
cat /proc/sys/net/netfilter/nf_conntrack_max

临时设置增加并发数多少: 
echo “524288” > /proc/sys/net/ipv4/ip_conntrack_max 
新版本centos用这个: 
echo “524288” > /proc/sys/net/netfilter/nf_conntrack_max

最终: 
/etc/sysctl.conf中加入:net.ipv4.ip_conntract_max =102400 
新版本centos用这个: 
/etc/sysctl.conf中加入:net.nf_conntract_max =102400 
重启配置 
/sbin/sysctl -p

linux的并发过程中,time_wait的数量太大,引起的链接挂起等待,需要在服务器增加以下配置:

编辑文件/etc/sysctl.conf,加入以下内容:

net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_fin_timeout = 30 
然后执行 /sbin/sysctl -p 让参数生效。 
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; 
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; 
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 
net.ipv4.tcp_fin_timeout 修改系默认的 TIMEOUT 时间

数据库方面优化:使用简单的代码进行查询,建立了索引,同时查询条件相对简单化。数据库mysql的最大连接数设置成了3000,但是压力测试阶段,发现其实最大并发连接数达不到这么高。

php端优化: 
由于接口是webservice,压力测试阶段总是并发链接上不去,但是cpu和各项服务器性能参数都很低,增加libxml_disable_entity_loader(false); 在页面开始,问题解决,可以大并发访问。

Php.ini的修改:

; The timeout for serving a single request after which the worker process will 
; be killed. This option should be used when the ‘max_execution_time’ ini option 
; does not stop script execution for some reason. A value of ‘0’ means ‘off’. 
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) 
; Default Value: 0 
request_terminate_timeout = 0s

该项置0。

优化前,并发在20RPS。 
以上是对这次的优化,优化后,该接口并发达到300左右RPS,响应时间在0.3秒内。如果还要继续优化,后面需要考虑对应的第三方缓存,减少数据库级别的查询才能更好解决问题。

参考文章:http://www.itwendao.com/article/detail/92135.html

时间: 2024-12-18 04:16:37

当前服务器的并发连接数查看的相关文章

Cent OS 服务器 netstat下令 查看TCP连接数信息

netstat命令的功能是显示网络连接.路由表和网络接口的信息,可以让用户得知有哪些网络连接正在运作.在日常工作中,我们最常用的也就两个参数,即netstat –an,如下所示: [[email protected]_moban nginx]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address               Foreign Addre

linux服务器使用iftop查看带宽流量IP

Linux下使用iftop工具结合iptables服务来解决带宽资源被恶意请求满的问题,主要通过2个步骤来实现: 1.  使用iftop工具查出来是哪些个IP地址在请求主机的带宽资源,找出耗带宽的元凶2.  找出耗带宽的IP地址或者段,分析是out方向还是in方向,使用iptables规则来进行控制 具体的详细操作方法如下: 一但出现带宽被恶意请求,在带宽被请满的情况下基本上很难通过网络登入到服务器上进行操作跟维护,这时我们需要通过阿里云提供的“连接管理终端”服务来登入系统一般建议在主机正常的时

linux服务器性能状态查看

vmstat结果内容的解释 Vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 88 199564 134860 1175252 0 0 0 352 9323 10496 8 6 85 0 0 procs r 列表示运行和等待cpu时间片的进程数,如

IBM服务器 Centos系统 查看RAID状态

以下是组建服务器raid时查到的资料,做下笔记,没兴趣的朋友请无视. 最新下载地址: http://www.lsi.com/Search/?terms=MegaCLI&x=12&y=11 打开上面网址,点击"documents and downloads search tool.",搜索 MegaCli 找到MegaRAID 820X MegaCLI - Linux, Version 3.00.03 最大版本号进行下载. 会下载4.00.16_Linux_MegaCli

linux并发连接数查看

1.查看Webserver(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat -n|grep  ^tcp|awk '{print $NF}'|sort -nr|uniq -c 或者: netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t&

Cacti获取服务器TCP并发连接数

1.  从http://forums.cacti.net/download/file.php?id=5198下载官方提供的TCP监控模版tcp-connections.zip(模版见下方附件内容) 2.  解压tcp-connections.zip将可执行程序get_tcp_connections拷贝到目录/var/www/html/cacti/scripts #cp  get_tcp_connections  /var/www/html/cacti/scripts/ 3.  赋予执行权限chm

linux服务器各类信息查看命令总结

在日常运维工作中,经常需要查看系统的硬件信息,linux信息查看并不像windows那么直观这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. 查看系统版本[email protected]:~$cat /etc/issueCentOS release 6.8 (Final)Kernel \r on an \m [email protected]:~$cat /etc/redhat-release CentOS release 6.8 (Final) 查看系统时32位还是64位[emai

LInux的服务器编码格式的查看与更改

1.locale 命令查看字符编码 然后修改/etc/sysconfig/i18n,如改成中文编码: LANG=en_US.UTF-8 改为 LANG="zh_CN.GBK" 然后重新加载 文件 [email protected] test:/etc# source /etc/sysconfig/i18n 也可以用 export LANG=zh_CN.UTF-8 修改 原文地址:https://www.cnblogs.com/JIKes/p/10812851.html

Cacti获取服务器TCP并发连接数(cacti windows版)

因为官方并没有提供的windows 版本cacti监控tcp连接数的脚本,所以这里是借用linux版本cacti监控tcp连接数的bash脚本来写bat批处理文件. 1.首先从http://forums.cacti.net/download/file.php?id=5198下载官方提供的基于inux版本cacti监控tcp连接数的bash脚本和监控模版tcp-connections.zip 2. 解压tcp-connections.zip解压出来,三个文件,一个cacti_graph_templ