• Too many open files


    Centos7.5   提示Too many open files

    进行压力测试的时候提示Too many open files

    [root@web01 code]# ab -n100000 -c200 http://127.0.0.1/tt.html
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 127.0.0.1 (be patient)
    socket: Too many open files (24)
    

    产生的原因:文件句柄(文件描述符)不够

    解决方法:

      方式一:临时修改

      [root@nginx ~]# ulimit -n 2048
    

      方式二:永久修改

    [root@nginx ~]# vim /etc/security/limits.conf #永久修改

    #方式一   系统全局性修改

    # *代表所有用户,soft仅提醒,hard限制,nofile打开最大文件数
    * soft nofile 25535 #所有用户运行的进程打开最大的文件数为25535,达到这个限制后会提醒
    * hard nofile 25535 #所有用户运行的进程打开最大的文件数为25535,达到这个限制后会限制打开

    #方式二   用户局部性修改

    #针对root用户,soft仅提醒,hard限制,nofile打开最大文件数
    root soft nofile 65535 #root用户运行的进程打开最大的文件数为65535,达到这个限制后会提醒
    root hard nofile 65535 #root用户运行的进程打开最大的文件数为65535,达到这个限制后会限制打开

    #重启生效

    #查看是否生效
    [root@web01 ~]# ulimit -a
    [root@web01 ~]# ulimit -n

    #方式三  

    针对Nginx进程
    [root@web01 code]# vim /etc/nginx/nginx.conf
    user nginx;
    worker_processes 1;
    worker_rlimit_nofile 65535;
    ...
    [root@web01 code]# nginx -t
    [root@web01 code]# systemctl restart nginx

    示例:

    方式一:临时修改

    [root@web01 ROOT]# ab -n100000 -c200 http://127.0.0.1/tt.html
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 127.0.0.1 (be patient)
    socket: Too many open files (24)
    [root@web01 ROOT]# ulimit -n 300  #临时修改
    [root@web01 ROOT]# ab -n100000 -c200 http://127.0.0.1/tt.html
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 127.0.0.1 (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests
    
    
    Server Software:        nginx/1.14.2
    Server Hostname:        127.0.0.1
    Server Port:            80
    
    Document Path:          /tt.html
    Document Length:        10 bytes
    
    Concurrency Level:      200
    Time taken for tests:   26.754 seconds
    Complete requests:      100000
    Failed requests:        0
    Write errors:           0
    Total transferred:      24600000 bytes
    HTML transferred:       1000000 bytes
    Requests per second:    3737.73 [#/sec] (mean)
    Time per request:       53.508 [ms] (mean)
    Time per request:       0.268 [ms] (mean, across all concurrent requests)
    Transfer rate:          897.93 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0    4  50.4      1    1008
    Processing:    10   48  99.3     35    3049
    Waiting:        5   46  99.4     34    3048
    Total:         10   52 112.6     37    3050
    
    Percentage of the requests served within a certain time (ms)
      50%     37
      66%     42
      75%     45
      80%     46
      90%     54
      95%     69
      98%    126
      99%   1030
     100%   3050 (longest request)
    

    方式二:永久修改

    [root@web01 ~]# ab -n100000 -c300 http://127.0.0.1/tt.html
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 127.0.0.1 (be patient)
    socket: Too many open files (24)
    [root@web01 ~]# vim /etc/security/limits.conf
    * soft nofile 400                                                                                                                           
    [root@web01 ~]# reboot
    [root@web01 ~]# ab -n100000 -c300 http://127.0.0.1/tt.html
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 127.0.0.1 (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests
    
    
    Server Software:        nginx/1.14.2
    Server Hostname:        127.0.0.1
    Server Port:            80
    
    Document Path:          /tt.html
    Document Length:        173 bytes
    
    Concurrency Level:      300
    Time taken for tests:   8.985 seconds
    Complete requests:      100000
    Failed requests:        0
    Write errors:           0
    Non-2xx responses:      100000
    Total transferred:      32500000 bytes
    HTML transferred:       17300000 bytes
    Requests per second:    11129.77 [#/sec] (mean)
    Time per request:       26.955 [ms] (mean)
    Time per request:       0.090 [ms] (mean, across all concurrent requests)
    Transfer rate:          3532.40 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0   15 131.5      2    3012
    Processing:     1   10  10.1      9     613
    Waiting:        1    8  10.0      8     610
    Total:          3   25 133.7     11    3026
    
    Percentage of the requests served within a certain time (ms)
      50%     11
      66%     12
      75%     12
      80%     12
      90%     13
      95%     14
      98%     17
      99%   1019
     100%   3026 (longest request)
    
  • 相关阅读:
    请设计一个一百亿的计算器
    ==和equals方法的区别是什么?hashCode方法的作用?
    接口和抽象类相关面试题
    java基础面试题
    有关"内部类"的三道面试题
    软件编程21法则
    内部类的作用
    面向对象的相关面试题
    String类型的面试题
    面朝大海,春暧花开
  • 原文地址:https://www.cnblogs.com/lvhanzhi/p/10387523.html
Copyright © 2020-2023  润新知