{"id":261446,"date":"2015-07-14T20:07:02","date_gmt":"2015-07-14T16:07:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=261446"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=261446","title":{"rendered":"36 \u043c\u043b\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0447\u0430\u0441, 10000+ \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, nginx+mysql"},"content":{"rendered":"<p>             \u0421\u043b\u043e\u0436\u0438\u043b\u0430\u0441\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. \u041a\u0430\u043a \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u2014 36 \u043c\u043b\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0447\u0430\u0441. \u042f \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0441\u044f\u0446, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044f \u0441\u0435\u0440\u0432\u0435\u0440; \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0436\u0430\u0442\u043e \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e \u0432\u044b\u0434\u0430\u0442\u044c \u0442\u0435\u0437\u0438\u0441\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u044f \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u2014 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043a\u0430\u043a \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0438\u0445 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043e\u0431\u044b\u0447\u043d\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0435, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u0440\u043e \u00ab\u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443\u00bb \u0432 15-20 \u0442\u044b\u0441\u044f\u0447 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0443\u0442\u043a\u0438. \u0423 \u043d\u0430\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d, \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445, \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445.<\/p>\n<p>  \u0423 \u043d\u0430\u0441 \u043d\u0435\u0442 \u0434\u0435\u043d\u0435\u0433 \u0438 \u043c\u044b \u0432\u0441\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430 \u0441\u0432\u043e\u0439 \u0441\u0447\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c. \u0418\u0442\u043e\u0433 \u2014 \u0432\u0435\u0441\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0432\u043e\u0442 \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u2014 <a href=\"http:\/\/ru.hetzner.com\/hosting\/produkte_rootserver\/ex60\"> EX-60 \u043d\u0430 hetzner<\/a>.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041c\u044b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u0430\u043d\u0430\u043b\u043e\u0433 DDoS \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043a\u043e\u0433\u0434\u0430 \u0431\u044b\u043b\u043e \u043f\u043e 4000 php \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u041e\u0421 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434 4000, \u044f \u0443\u0441\u043f\u0435\u043b \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0438 \u043d\u0430\u0439\u0442\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435. \u0421 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0432 \u0441\u043e\u0444\u0442\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c, \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u0438 10-12 \u0442\u044b\u0441\u044f\u0447 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 load average: 3,92, 3,22, 2,85. \u041d\u0435 \u0435\u0434\u0438\u043d\u0438\u0447\u043a\u0430, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u043e \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u0447\u0438\u0442\u0430\u044e \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c.<\/p>\n<p>  \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043a\u0430 \u2014 CentOS 7.1, 64 \u0431\u0438\u0442\u0430. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f, \u043f\u043b\u044e\u0441 iptables, nginx, php-fpm, mysql. \u042f\u0434\u0440\u043e 4-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0438\u0437 kernel-ml.<\/p>\n<p>  \u0422\u044e\u043d\u0438\u043d\u0433 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u044f\u0434\u0440\u0430 \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u043f\u043e\u0440 tcp \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/etc\/sysctl.conf<\/b><\/p>\n<div class=\"spoiler_text\">fs.file-max = 1000000<br \/>  net.ipv4.ip_local_port_range = 1024 65535<br \/>  net.ipv4.conf.all.accept_redirects = 0<br \/>  net.ipv4.conf.all.secure_redirects = 0<br \/>  net.ipv4.conf.all.send_redirects = 0<br \/>  net.ipv4.tcp_max_orphans = 65536<br \/>  net.ipv4.tcp_fin_timeout = 30<br \/>  net.ipv4.tcp_keepalive_time = 1800<br \/>  net.ipv4.tcp_keepalive_intvl = 15<br \/>  net.ipv4.tcp_keepalive_probes = 5<br \/>  net.ipv4.tcp_max_syn_backlog = 65536<br \/>  net.ipv4.tcp_synack_retries = 1<br \/>  net.ipv4.tcp_mem = 50576 64768 98152<br \/>  net.ipv4.tcp_rmem = 4096 87380 16777216<br \/>  net.ipv4.tcp_wmem = 4096 65536 16777216<br \/>  net.ipv4.tcp_orphan_retries = 0<br \/>  net.ipv4.tcp_syncookies = 0<br \/>  net.ipv4.netfilter.ip_conntrack_max = 1048576<br \/>  net.ipv4.tcp_timestamps = 1<br \/>  net.ipv4.tcp_sack = 1<br \/>  net.ipv4.tcp_congestion_control = htcp<br \/>  net.ipv4.tcp_no_metrics_save = 1<br \/>  net.ipv4.route.flush=1<br \/>  net.ipv4.conf.all.rp_filter = 1<br \/>  net.ipv4.conf.lo.rp_filter = 1<br \/>  net.ipv4.conf.eth0.rp_filter = 1<br \/>  net.ipv4.conf.default.rp_filter = 1<br \/>  net.ipv4.conf.all.accept_source_route = 0<br \/>  net.ipv4.conf.lo.accept_source_route = 0<br \/>  net.ipv4.conf.eth0.accept_source_route = 0<br \/>  net.ipv4.conf.default.accept_source_route = 0<br \/>  net.ipv4.tcp_tw_reuse = 1<br \/>  net.ipv4.tcp_window_scaling = 1<br \/>  net.ipv4.tcp_rfc1337 = 1<br \/>  net.ipv4.ip_forward = 0<br \/>  net.ipv4.icmp_echo_ignore_broadcasts = 1<br \/>  net.ipv4.icmp_ignore_bogus_error_responses = 1<br \/>  net.core.somaxconn = 262144<br \/>  net.core.netdev_max_backlog = 1000<br \/>  net.core.rmem_default=65536<br \/>  net.core.wmem_default=65536<br \/>  net.core.rmem_max = 16777216<br \/>  net.core.wmem_max = 16777216  <\/div>\n<\/div>\n<p>  \u0422\u044e\u043d\u0438\u043d\u0433 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0438 \u043a\u0430\u043a\u0438\u0445 \u044e\u0437\u0435\u0440\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0435\u0442, \u0442\u043e \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u0441\u044f:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/etc\/security\/limits.conf<\/b><\/p>\n<div class=\"spoiler_text\">* soft nproc 65535<br \/>  * hard nproc 65535<br \/>  * soft nofile 100000<br \/>  * hard nofile 100000<br \/>  root soft nofile unlimited<br \/>  root hard nofile unlimited  <\/div>\n<\/div>\n<p>  \u041c\u043e\u043d\u0441\u0442\u0440\u044b \u0437\u043d\u0430\u044e\u0442, \u043d\u043e \u044f \u0434\u0430\u0432\u043d\u043e \u043d\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u0431\u044b\u043b \u043d\u0435 \u0432 \u043a\u0443\u0440\u0441\u0435, \u0447\u0442\u043e * \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 root, \u0438 \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0442\u044e\u043d\u0438\u043d\u0433\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0441 \u044f\u0434\u0440\u043e\u043c \u0432\u0441\u0451.<\/p>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043c\u0443\u0441\u043a\u0443\u043b\u0430. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 percona-56. <\/p>\n<p>  \u0412\u044b\u0431\u043e\u0440 \u0431\u044b\u043b \u0441\u0434\u0435\u043b\u0430\u043d \u0432 \u0438\u0442\u043e\u0433\u0435 \u043d\u0430 InnoDB, \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 TokuDb, \u043d\u043e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0445 \u0438\u043d\u0441\u0435\u0440\u0442\u043e\u0432, \u0430 \u0438\u0445 \u0443 \u043d\u0430\u0441 95% \u0438\u0437 36 \u043c\u043b\u043d \u0432 \u0447\u0430\u0441. InnoDB \u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u043b\u0443\u0447\u0448\u0435, \u0442\u0435\u0441\u0442\u044b \u0441\u0430\u043c\u043e\u0439 \u043f\u0435\u0440\u043a\u043e\u043d\u044b \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u043e \u0442\u043e\u043c \u0436\u0435.<\/p>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 mysql:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/etc\/my.cnf<\/b><\/p>\n<div class=\"spoiler_text\">[mysql]<br \/>  port = 3306<br \/>  socket = \/var\/lib\/mysql\/mysql.sock<br \/>  [mysqld]<br \/>  user = mysql<br \/>  default-storage-engine = InnoDB<br \/>  socket = \/var\/lib\/mysql\/mysql.sock<br \/>  pid-file = \/var\/lib\/mysql\/mysql.pid<br \/>  key-buffer-size = 32M<br \/>  myisam-recover = FORCE,BACKUP<br \/>  max-allowed-packet = 16M<br \/>  max-connect-errors = 1000000<br \/>  skip-name-resolve<br \/>  datadir = \/var\/lib\/mysql\/<br \/>  tmp-table-size = 32M<br \/>  max-heap-table-size = 32M<br \/>  query-cache-type = 0<br \/>  query-cache-size = 0<br \/>  max-connections = 15000<br \/>  thread-cache-size = 5000<br \/>  open-files-limit = 150000<br \/>  table-definition-cache = 1024<br \/>  table-open-cache = 50000<br \/>  innodb-flush-method = O_DIRECT<br \/>  innodb-log-files-in-group = 2<br \/>  innodb-log-file-size = 2G<br \/>  innodb-file-per-table = 1<br \/>  innodb-buffer-pool-size = 10G<br \/>  innodb_flush_log_at_trx_commit = 0<br \/>  log-error = \/var\/log\/mysql\/mysql-error.log<br \/>  log-queries-not-using-indexes = 0<br \/>  slow-query-log = 1<br \/>  slow-query-log-file = \/var\/log\/mysql\/mysql-slow.log  <\/div>\n<\/div>\n<p>  \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 query-cache. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u0432\u0441\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u043f\u043e\u0438\u0433\u0440\u0430\u0439\u0442\u0435\u0441\u044c, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432 \u0432\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0442, \u043d\u043e \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0438 \u0442\u0435\u043a\u0441\u0442\u0430\u0445 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0443 \u0441\u0435\u0431\u044f \u2014 \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435.<\/p>\n<p>  skip-name-resolve \u0442\u043e\u0436\u0435 \u0434\u0430\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u0438\u0440\u043e\u0441\u0442.<\/p>\n<p>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0434\u043b\u044f nginx:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">fastcgi_params<\/b><\/p>\n<div class=\"spoiler_text\">fastcgi_param REDIRECT_STATUS 200;<br \/>  fastcgi_buffer_size 4K;<br \/>  fastcgi_buffers 64 4k;  <\/div>\n<\/div>\n<p>  nginx \u0442\u044e\u043d\u0438\u043c \u043f\u043e\u0434 \u043d\u0430\u0448\u0438 \u043d\u0443\u0436\u0434\u044b:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">nginx.conf<\/b><\/p>\n<div class=\"spoiler_text\">user nginx;<br \/>  worker_processes 8;<\/p>\n<p>  error_log \/var\/log\/nginx\/error.log warn;<br \/>  pid \/var\/run\/nginx.pid;<\/p>\n<p>  worker_rlimit_nofile 150000;<\/p>\n<p>  events {<br \/>   worker_connections 8000;<br \/>   multi_accept on;<br \/>   use epoll;<br \/>  }<\/p>\n<p>  http {<br \/>   include \/etc\/nginx\/mime.types;<br \/>   default_type application\/octet-stream;<\/p>\n<p>  log_format main &#8216;$remote_addr \u2014 $remote_user [$time_local] &quot;$request&quot; &#8216;<br \/>   &#8216;$status $body_bytes_sent &quot;$http_referer&quot; &#8216;<br \/>   &#8216;&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;&#8217;;<\/p>\n<p>  access_log \/var\/log\/nginx\/access.log main;<\/p>\n<p>  gzip off;<br \/>   sendfile on;<br \/>   tcp_nopush on;<br \/>   tcp_nodelay on;<br \/>   reset_timedout_connection on;<br \/>   server_tokens off;<br \/>   client_body_buffer_size 128k;<\/p>\n<p>  include \/etc\/nginx\/conf.d\/*.conf;<\/p>\n<p>  }  <\/div>\n<\/div>\n<p>  \u042f\u0434\u0435\u0440 8, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 worker-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 8, \u043f\u043e 8000 \u043d\u0430 \u0431\u0440\u0430\u0442\u0430, \u0432\u0441\u0435-\u0440\u0430\u0432\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 64\u043a \u043d\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0442\u044c \u0437\u0430 \u0440\u0430\u0437. \u0411\u0443\u0434\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>  \u0412 \u0441\u0430\u0439\u0442\u0435 \u0441 php-fpm \u043e\u0431\u0449\u0430\u0435\u043c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u043a\u0435\u0442\u044b:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/etc\/nginx\/conf.d\/site.conf<\/b><\/p>\n<div class=\"spoiler_text\"> fastcgi_pass unix:\/var\/run\/php-fpm\/php-fpm.sock;<br \/>   fastcgi_send_timeout 180s;<br \/>   fastcgi_read_timeout 180s;  <\/div>\n<\/div>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043f\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 php-fpm:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/etc\/php-fpm.d\/www.conf<\/b><\/p>\n<div class=\"spoiler_text\">listen = \/var\/run\/php-fpm\/php-fpm.sock<br \/>  pm = ondemand<br \/>  pm.max_children = 4000<br \/>  pm.start_servers = 5<br \/>  pm.min_spare_servers = 5<br \/>  pm.max_requests = 0  <\/div>\n<\/div>\n<p>  ondemand \u043c\u0430\u043b\u043e \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u0430\u043d, \u043d\u043e \u043e\u043d \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c dynamic \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. \u0410 static \u2014 \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0443\u0431\u0438\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0441\u0438\u043b\u044c\u043d\u043e.<\/p>\n<p>  ondemand \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441 5, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430\u0440\u0430\u0449\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 dynamic \u0441 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0435 \u0443\u0431\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u043e\u043f\u044f\u0442\u044c \u043d\u0430\u0440\u0430\u0449\u0438\u0432\u0430\u0442\u044c, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 \u043f\u0438\u043a\u0435 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0439 \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f. \u0418 \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u043f\u044f\u0442\u044c \u0440\u0430\u0441\u0442\u0435\u0442 \u2014 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b, \u043d\u0438\u043a\u043e\u0433\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441 \u043d\u0443\u043b\u044f.<\/p>\n<p>  pm.max_requests = 0 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0431\u043e\u0440\u043e\u0442\u0441\u044f \u0441 \u0443\u0442\u0435\u0447\u043a\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u043c \u0441\u043e\u0444\u0442\u0435.<\/p>\n<p>  \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0430\u043a \u043c\u044b \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u043c 36 \u043c\u043b\u043d \u0432 \u0447\u0430\u0441, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 95 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043a \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0445 \u0432 \u0411\u0414. \u041d\u0430 2.8 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0443 \u043d\u0430\u0441 \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u0442 10 \u0434\u043e 16 slow_query, \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 10 \u0441\u0435\u043a\u0443\u043d\u0434, \u043f\u0440\u0438\u0447\u0435\u043c \u0432\u0441\u0435 \u043e\u043d\u0438 \u2014 \u0441\u0435\u043b\u0435\u043a\u0442\u044b \u0441 \u0434\u0436\u043e\u0439\u043d\u0430\u043c\u0438 \u043f\u043e \u043c\u043d\u043e\u0433\u0438\u043c \u043f\u043e\u043b\u044f\u043c \u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e php-fpm \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b hhvm \u043e\u0434\u043d\u043e \u0432\u0440\u0435\u043c\u044f, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0448\u0438\u043a\u0430\u0440\u043d\u043e, \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 php-fpm, \u043d\u043e \u0435\u0441\u0442\u044c \u0431\u0435\u0434\u0430 \u2014 \u043a\u0430\u0436\u0434\u044b\u0435 30-40 \u043c\u0438\u043d\u0443\u0442 \u043f\u0430\u0434\u0430\u0435\u0442, \u043f\u0440\u0438\u0447\u0435\u043c \u043d\u0430\u0433\u043b\u0443\u0445\u043e.<\/p>\n<p>  \u0412 git \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043b, \u043f\u043e\u043a\u0430 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u043f\u043e\u043c\u043e\u0447\u044c, \u043f\u0440\u0438\u0447\u0438\u043d \u043d\u0435 \u0437\u043d\u0430\u044e\u0442. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u0438\u0434\u0438\u043c \u043d\u0430 php-fpm, \u0432\u0435\u0440\u0441\u0438\u044f 5.6.<\/p>\n<p>  \u0412\u0435\u0441\u044c \u0441\u043e\u0444\u0442 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 yum, \u043d\u0438 \u043a\u0430\u043a\u0438\u0445 \u0431\u0438\u043b\u0434\u043e\u0432 \u0441 \u0441\u043e\u0440\u0446\u043e\u0432 \u0441 \u043c\u0435\u0433\u0430\u0442\u044e\u043d\u0438\u043d\u0433\u043e\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u043a\u043e\u043c\u0443-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0432\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435.             <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/262623\/\"> http:\/\/habrahabr.ru\/post\/262623\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>             \u0421\u043b\u043e\u0436\u0438\u043b\u0430\u0441\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. \u041a\u0430\u043a \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u2014 36 \u043c\u043b\u043d \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0447\u0430\u0441. \u042f \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043b \u0438 \u043f\u0435\u0440\u0435\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u0435\u0441\u044f\u0446, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044f \u0441\u0435\u0440\u0432\u0435\u0440; \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0436\u0430\u0442\u043e \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e \u0432\u044b\u0434\u0430\u0442\u044c \u0442\u0435\u0437\u0438\u0441\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u044f \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u2014 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043a\u0430\u043a \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u0427\u0438\u0442\u0430\u0439\u0442\u0435 \u0438\u0445 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043e\u0431\u044b\u0447\u043d\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u043d\u0430\u0439\u0434\u0435\u0442\u0435, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u043f\u0440\u043e \u00ab\u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443\u00bb \u0432 15-20 \u0442\u044b\u0441\u044f\u0447 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0443\u0442\u043a\u0438. \u0423 \u043d\u0430\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d, \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445, \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445.<\/p>\n<p>  \u0423 \u043d\u0430\u0441 \u043d\u0435\u0442 \u0434\u0435\u043d\u0435\u0433 \u0438 \u043c\u044b \u0432\u0441\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u0437\u0430 \u0441\u0432\u043e\u0439 \u0441\u0447\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c. \u0418\u0442\u043e\u0433 \u2014 \u0432\u0435\u0441\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0432\u043e\u0442 \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u2014 <a href=\"http:\/\/ru.hetzner.com\/hosting\/produkte_rootserver\/ex60\"> EX-60 \u043d\u0430 hetzner<\/a>.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-261446","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=261446"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261446\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=261446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=261446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=261446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}