linux查看连接数,并发数 -买球官网平台

`
duanfei
  • 浏览: 689405 次
  • 性别:
  • 来自: 南京
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 0)
    • ( 7)
    • ( 0)
    存档分类
    最新评论

    linux查看连接数,并发数

    软连接
    ln -s /home/ictfmcg/data/photo /var/jtnd/data/photo


    tomcat 6的connector配置如下
    
    



    其中最后两个参数意义如下:

    maxthreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200

    acceptcount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100



    这两个值如何起作用,请看下面三种情况

    情况1:接受一个请求,此时tomcat起动的线程数没有到达maxthreads,tomcat会起动一个线程来处理此请求。

    情况2:接受一个请求,此时tomcat起动的线程数已经到达maxthreads,tomcat会把此请求放入等待队列,等待空闲线程。

    情况3:接受一个请求,此时tomcat起动的线程数已经到达maxthreads,等待队列中的请求个数也达到了acceptcount,此时tomcat会直接拒绝此次请求,返回connection refused

    maxthreads如何配置

    一般的服务器操作都包括量方面:1计算(主要消耗cpu),2等待(io、数据库等)

    第一种极端情况,如果我们的操作是纯粹的计算,那么系统响应时间的主要限制就是cpu的运算能力,此时maxthreads应该尽量设的小,降低同一时间内争抢cpu的线程个数,可以提高计算效率,提高系统的整体处理能力。

    第二种极端情况,如果我们的操作纯粹是io或者数据库,那么响应时间的主要限制就变为等待外部资源,此时maxthreads应该尽量设的大,这样才能提高同时处理请求的个数,从而提高系统整体的处理能力。此情况下因为tomcat同时处理的请求量会比较大,所以需要关注一下tomcat的虚拟机内存设置和linux的open file限制。

    我在测试时遇到一个问题,maxthreads我设置的比较大比如3000,当服务的线程数大到一定程度时,一般是2000出头,单次请求的响应时间就会急剧的增加,

    百思不得其解这是为什么,四处寻求答案无果,最后我总结的原因可能是cpu在线程切换时消耗的时间随着线程数量的增加越来越大,

    cpu把大多数时间都用来在这2000多个线程直接切换上了,当然cpu就没有时间来处理我们的程序了。

    以前一直简单的认为多线程=高效率。。其实多线程本身并不能提高cpu效率,线程过多反而会降低cpu效率。

    当cpu核心数<线程数时,cpu就需要在多个线程直接来回切换,以保证每个线程都会获得cpu时间,即通常我们说的并发执行。

    所以maxthreads的配置绝对不是越大越好。

    现实应用中,我们的操作都会包含以上两种类型(计算、等待),所以maxthreads的配置并没有一个最优值,一定要根据具体情况来配置。

    最好的做法是:在不断测试的基础上,不断调整、优化,才能得到最合理的配置。

    acceptcount的配置,我一般是设置的跟maxthreads一样大,这个值应该是主要根据应用的访问峰值与平均值来权衡配置的。

    如果设的较小,可以保证接受的请求较快相应,但是超出的请求可能就直接被拒绝

    如果设的较大,可能就会出现大量的请求超时的情况,因为我们系统的处理能力是一定的。
    1、查看apache当前并发访问数:  www.2cto.com 
      
    netstat -an | grep established | wc -l
      
       对比httpd.conf中maxclients的数字差距多少。
      
    2、查看有多少个进程数:
      
    ps aux|grep httpd|wc -l

      
    3、可以使用如下参数查看数据
      server-status?auto
      
    #ps -ef|grep httpd|wc -l

      1388
      统计httpd进程数,连个请求会启动一个进程,使用于apache服务器。
      表示apache能够处理1388个并发请求,这个值apache可根据负载情况自动调整。
      
    #netstat -nat|grep -i "80"|wc -l

      4341
      netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。  www.2cto.com 
      最终返回的数字就是当前所有80端口的请求总数。
      
    #netstat -na|grep established|wc -l

      376
      netstat -an会打印系统当前网络链接状态,而grep established 提取出已建立连接的信息。 然后wc -l统计。
      最终返回的数字就是当前所有80端口的已建立连接的总数。
      
    netstat -nat||grep established|wc

        - 可查看所有建立连接的详细记录

      查看apache的并发请求数及其tcp连接状态:
      linux命令:
      
    netstat -n | awk '/^tcp/ {  s[$nf]} end {for(a in s) print a, s[a]}'

      返回结果示例:
      last_ack 5
      syn_recv 30
      established 1597
      fin_wait1 51
      fin_wait2 504
      time_wait 1057
      其中的
      syn_recv表示正在等待处理的请求数;
      established表示正常数据传输状态;
      time_wait表示处理完毕,等待超时结束的请求数。(这个参数还不太懂,为啥是等待超时结束,请大神指教)
    分享到:
    |
    评论
    1 楼 shaoshou111 2016-05-06  
    查看apache的并发请求数及其tcp连接状态
    netstat -n |awk '/^tcp/ { a[$nf]} end {for (i in a) print i ", " a[i];}'
    这个有效

    相关推荐

      在linux系统如何修改tcp连接数,文件数限制修改、网络端口限制修改;修改用户进程可打开文件数限制;修改网络内核对tcp连接的有关限制;使用支持高并发网络i/o的编程技术

      在linux平台上,无论编写客户端程序还是服务端程序,在进行高并发tcp连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个tcp连接都要创建一个socket句柄,每个socket...

      不过,apache的使用者们早已开发出了mod_limitipconn和mod_bandwidth两个模块,来控制http的并发 连接数和用户所能够使用的带宽,本文将以redhat linux 7.3 apache 1.3.7来说明它们的使用方法。

      当我们的网站部署在linux的服务器上,特别是web服务器,我们可能有时候做为运维人员,肯定是要查看网站的并发连接数是不是达到瓶颈等,所以在linux下,我们如何查看服务器的并发连接数呢?下面这篇文章就给大家详细...

      linux 每秒并发数计算方法 利用网络处理量计算 利用服务器日志计算

      二、查看tcp连接数 1)统计80端口连接数 netstat -nat | grep -i 80 | wc -l 2)统计httpd协议连接数 ps -ef | grep httpd | wc -l 3)统计已连接上的,状态为“established netstat -anp | grep established | ...

      linux下apache并发连接数和带宽控制.pdf

      在linux平台上,无论编写客户端程序还是服务端程序,在进行高并发tcp连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个tcp连接都要创建一个socket句柄,每个socket...

      该文档介绍了如何在linux系统配置sftp服务器的步骤,大家感受一下。

      sysctl.conf 博文链接:https://zhengdl126.iteye.com/blog/1717016

      主要给大家介绍了关于linux中高并发socket最大连接数优化的相关资料,文中介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起学习学习吧。

      并发连接数受限于linux可打开文件数,这个数是可以配置的,可以非常大,所以实际上受限于系统性能。 现在做服务器开发不加上高并发根本没脸出门,所以为了以后吹水被别人怼“天天提高并发,你自己实现的最高并发是...

       – a recent linux kernel (2.6.x)  about tuning, i prefer to not fully disclose them because servers are targets of many attacks, so it’s better not help hackers.  the most touchy thing is the ip ...

      nginx 1.22.0 linux 版本,解压安装。 nginx是一款轻量级的web 服务器/反向代理服务器及电子邮件(imap/pop3)代理...能够支持高达 50,000 个并发连接数的响应,感谢nginx为我们选择了 epoll and kqueue作为开发模型。

      linux系统在默认的参数下对高并发支持不好,主要瓶颈在于单进程最大打开文件数限制、内核tcp参数方面和io事件分配机制等。所以下面我们从这几方面进行调优,使linux系统能够更好的支持高并发环境。如果不是必须使用...

      windows端日志分析软件,支持ftp远程获取linux,nt,os日志

    global site tag (gtag.js) - google analytics