ubuntu – Nginx 10k并发连接

前端之家收集整理的这篇文章主要介绍了ubuntu – Nginx 10k并发连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们无法在Nginx中处理超过3k的并发请求(Connecton超时).我们还将ulimit更改为20000.以下是我的Nginx.conf和sysctl.conf文件
  1. user www-data;
  2. worker_processes 4;
  3. pid /var/run/Nginx.pid;
  4. events {
  5. worker_connections 5000;
  6. use epoll;
  7. # multi_accept on;
  8. } # took it in next line
  9. worker_rlimit_nofile 100000;
  10.  
  11. http {
  12. sendfile on;
  13. tcp_nopush on;
  14. tcp_nodelay on;
  15. keepalive_timeout 600;
  16. send_timeout 600;
  17. proxy_connect_timeout 600;
  18. proxy_send_timeout 600;
  19. proxy_read_timeout 600;
  20. reset_timedout_connection on;
  21. types_hash_max_size 2048;
  22. client_header_buffer_size 5k;
  23. open_file_cache max=10000 inactive=30s;
  24. open_file_cache_valid 60s;
  25. open_file_cache_min_uses 2;
  26. open_file_cache_errors on;
  27. include /etc/Nginx/mime.types;
  28. default_type application/octet-stream;
  29. access_log off;
  30. error_log /var/log/Nginx/error.log;
  31. gzip on;
  32. gzip_disable "msie6";
  33. include /etc/Nginx/conf.d/*.conf;
  34. include /etc/Nginx/sites-enabled/*;
  35. }

systel.conf

  1. # Increase size of file handles and inode cache
  2. fs.file-max = 2097152
  3.  
  4. # Do less swapping
  5. vm.swappiness = 10
  6. vm.dirty_ratio = 60
  7. vm.dirty_background_ratio = 2
  8.  
  9. ### GENERAL NETWORK SECURITY OPTIONS ###
  10.  
  11. # Number of times SYNACKs for passive TCP connection.
  12. net.ipv4.tcp_synack_retries = 2
  13.  
  14. # Allowed local port range
  15. net.ipv4.ip_local_port_range = 2000 65535
  16.  
  17. # Protect Against TCP Time-Wait
  18. net.ipv4.tcp_rfc1337 = 1
  19.  
  20. # Decrease the time default value for tcp_fin_timeout connection
  21. net.ipv4.tcp_fin_timeout = 15
  22.  
  23. # Decrease the time default value for connections to keep alive
  24. net.ipv4.tcp_keepalive_time = 300
  25. net.ipv4.tcp_keepalive_probes = 5
  26. net.ipv4.tcp_keepalive_intvl = 15
  27.  
  28. ### TUNING NETWORK PERFORMANCE ###
  29.  
  30. # Default Socket Receive Buffer
  31. net.core.rmem_default = 31457280
  32.  
  33. # Maximum Socket Receive Buffer
  34. net.core.rmem_max = 12582912
  35.  
  36. # Default Socket Send Buffer
  37. net.core.wmem_default = 31457280
  38.  
  39. # Maximum Socket Send Buffer
  40. net.core.wmem_max = 12582912
  41.  
  42. # Increase number of incoming connections
  43. net.core.somaxconn = 65536
  44.  
  45. # Increase number of incoming connections backlog
  46. net.core.netdev_max_backlog = 65536
  47.  
  48. # Increase the maximum amount of option memory buffers
  49. net.core.optmem_max = 25165824
  50.  
  51. # Increase the maximum total buffer-space allocatable
  52. # This is measured in units of pages (4096 bytes)
  53. net.ipv4.tcp_mem = 65536 131072 262144
  54. net.ipv4.udp_mem = 65536 131072 262144
  55.  
  56. # Increase the read-buffer space allocatable
  57. net.ipv4.tcp_rmem = 8192 87380 16777216
  58. net.ipv4.udp_rmem_min = 16384
  59.  
  60. # Increase the write-buffer-space allocatable
  61. net.ipv4.tcp_wmem = 8192 65536 16777216
  62. net.ipv4.udp_wmem_min = 16384
  63.  
  64. # Increase the tcp-time-wait buckets pool size to prevent simple DOS attacks
  65. net.ipv4.tcp_max_tw_buckets = 1440000
  66. net.ipv4.tcp_tw_recycle = 1
  67. net.ipv4.tcp_tw_reuse = 1

我们使用的是带有4个cpu和8 GB RAM的ubuntu操作系统.我几乎看不到任何cpu和RAM使用情况.我只是在触发Nginx默认页面URL.

我强烈建议你使用微缓存.

示例:http://www.howtoforge.com/why-you-should-always-use-nginx-with-microcaching
http://reviewsignal.com/blog/2014/06/25/40-million-hits-a-day-on-wordpress-using-a-10-vps/

我最近在我的盒子上设置了微缓存.
使用apache基准测试,它可以容纳多达50 000个连接,cpu只能达到6%.
没有超时,页面以1,1ms的速度提供.

上面的示例手册我建议仅用于“仅查看”,因为它们不正确.在我的情况下,我花了很多时间设置它,但值得强调:)

猜你在找的Ubuntu相关文章