Advertisement
Guest User

Untitled

a guest
May 27th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. Дамы и господа, подскажите, куда смотреть,
  2. на 4 серверах имеется связка nginx+php-fpm.
  3. Трафик между серверами раскидывается раундробингом, то есть равномерно
  4. Проводим эксперимент 1. с сервера 1 проксируем весь траф на сервер 2. Полет нормальный, нагрузка растет равномерно, затыков нет
  5. Проводим эксперимент 2. с сервера 1 проксируем весь траф на сервер 3.
  6. При увеличении трафа начинаются тормоза на этапе соединения между nginx и php.
  7. Как это выглядит:
  8. http://site/test.html отдается мгновенно
  9. http://site/test.php в котором
  10. <?
  11. $s = microtime(true);
  12. phpinfo();
  13. $diff = microtime(true) - $s;
  14. echo $diff;
  15.  
  16. отдается секунд за 2-15, при этом время выполнение ПХП скрипта - доли секунды.
  17. При этом практически совсем не растет нагрузка на проц, памяти и IO
  18. Железо на всех серверах примерно одинаковое, более того, серер 3 помощнее
  19.  
  20. nginx.conf
  21. user nginx;
  22. worker_processes 16;
  23. worker_rlimit_nofile 163840;
  24.  
  25. error_log /var/log/nginx/error.log;
  26. pid /run/nginx.pid;
  27. events {
  28. worker_connections 102400;
  29. multi_accept on;
  30. }
  31.  
  32. http {
  33. include /etc/nginx/mime.types;
  34. default_type application/octet-stream;
  35. log_format count '$time_local" $status "';
  36. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  37. '$status $body_bytes_sent "$http_referer" '
  38. '"$http_user_agent" "$http_x_forwarded_for"';
  39. log_format host '$host $remote_addr - $remote_user [$time_local] "$request"';
  40. access_log /var/log/nginx/access.log main;
  41.  
  42. sendfile on;
  43. keepalive_timeout 65;
  44. client_max_body_size 250m;
  45. index index.html index.htm;
  46.  
  47. server {
  48. listen *:80;
  49. server_name site ;
  50. root /home/mg/site;
  51. index index.php;
  52. location ~ .php$ {
  53. fastcgi_pass 127.0.0.1:9001;
  54. fastcgi_index index.php;
  55. fastcgi_param PHPRC "/home/mg/php";
  56. fastcgi_param SCRIPT_FILENAME /home/mg/site$fastcgi_script_name;
  57. include fastcgi_params;
  58. }
  59. }
  60.  
  61. php-fpm.conf
  62. [mg]
  63. listen = 127.0.0.1:9001
  64. listen.backlog = -1
  65. listen.owner = mg
  66. listen.group = www
  67. listen.mode=0666
  68. user = mg
  69. pm = dynamic
  70. pm.max_children = 150
  71. pm.start_servers = 16
  72. pm.min_spare_servers = 6
  73. pm.max_spare_servers = 50
  74.  
  75. sysctl.conf
  76. net.ipv4.tcp_tw_recycle=0
  77. net.ipv4.tcp_tw_reuse=1
  78. net.ipv4.tcp_timestamps = 1
  79. net.core.netdev_max_backlog=60000
  80. net.core.somaxconn=62800
  81. net.netfilter.nf_conntrack_max=1548576
  82. net.ipv4.ip_forward = 1
  83. net.ipv4.tcp_fin_timeout=10
  84. net.ipv4.tcp_max_syn_backlog = 262144
  85. net.ipv4.tcp_syncookies=1
  86. net.ipv4.tcp_max_tw_buckets = 720000
  87. net.ipv4.tcp_fin_timeout = 10
  88. net.ipv4.tcp_keepalive_time = 600
  89. fs.file-max=49280420
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement