рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдбреЗрдмрд┐рдпрди 7 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╡реАрдкреАрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП 1 рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ 512 рдПрдордмреА рд░реИрдо рдХреЗ рд╕рд╛рде рджрд┐рдП рдЧрдП рд╣реИрдВред
nginx
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ /etc/nginx/nginx.conf рдлрд╝рд╛рдЗрд▓, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЖрдорддреМрд░ рдкрд░ / etc / nginx / рд╕рд╛рдЗрдЯреНрд╕-рд╕рдХреНрд╖рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ) рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ
рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
рдирдЧреНрдиреЗрдХреНрд╕ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
worker_processes 1;
рдХреИрд╢ рдХрдВрдЯреНрд░реЛрд▓ рд╣реЗрдбрд░
рдХреИрд╢-рдХрдВрдЯреНрд░реЛрд▓ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рд░рд╛рд╣рдд рдорд┐рд▓реЗрдЧреА рдЬреЛ рдирд╣реАрдВ рдмрджрд▓рддреА (рдпрд╛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдмрджрд▓рддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП css / js / jpg / png / gif):
location ~* \.(css|js|png|gif|jpg)$ { expires max; }
рдкреНрд░рд╡реЗрд╢ рд▓реЙрдЧ
рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбрд┐рд╕реНрдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрдВрдж рдХрд░реЗрдВ:
access_log off;
рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ
рд╣рдо PHP рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ:
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; # php-fpm, . fastcgi_index index.php; include fastcgi_params; }
рдкреАрдПрдЪрдкреА
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ fpm php-fpm.conf рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣рд╛рдБ /etc/php5/fpm/pool.d/www.conf рдкрд░ рд╕реНрдерд┐рдд рд╣реИред
рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ
рд╣рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ php-fpm рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ tcp рдХреЗ рд╕рд╛рде:
listen = /var/run/php5-fpm.sock
рдПрдкреАрд╕реА
APC рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ - рдЖрдВрддрд░рд┐рдХ PHP рдХреИрд╢, рдЬреЛ PHP рдкрд╛рд░реНрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛:
apt-get install php-apc
MySQL рд╕реЗрдЯрдЕрдк
рд╕рднреА MySQL рд╕реЗрдЯрд┐рдВрдЧреНрд╕ my.cnf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдпрд╣рд╛рдБ /etc/my.cnf рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИрдВ ред
key_buffer
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ MyISAM рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдорд╛рди рдХреЛ 30% рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ ... рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз RAM рдХрд╛ 40%:
key_buffer = 128M
innodb_buffer_pool_size
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ InnoDB рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдорд╛рди рдХреЛ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ (80% рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐) рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
innodb_buffer_pool_size = 350M
рдзреНрдпрд╛рди рджреЗрдВ , рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬреНрдЮрд╛рди рдХреЛ рдХреЗрд╡рд▓ '' ' key_buffer ' '' рдХреЛ рдХрдо рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдЗрди рджреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмреАрдЪ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ (MyISAM рдпрд╛ InnoDB) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
innodb_flush_log_at_trx_commit
InnoDB рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЗрдЦрди рддреНрд╡рд░рдг рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдмрдлрд░ рдХреЛ рдбрд┐рд╕реНрдХ рдореЗрдВ рдлреНрд▓рд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдПрдХ рдмрд╛рд░:
innodb_flush_log_at_trx_commit = 0
innodb_flush_method
рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ O_DIRECT рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рджреЛрд╣рд░реЗ рдХреИрд╢рд┐рдВрдЧ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ MySQL рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд╛рд▓рди рдХреИрд╢ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ):
innodb_flush_method = O_DIRECT
thread_cache_size
рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрдорд┐рдд рдереНрд░реЗрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрддреА рдЬреНрдЮрд╛рди рдХреЛ 16 рддрдХ рдмрдврд╝рд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ:
thread_cache_size = 16
query_cache_size
MySQL рдЖрдВрддрд░рд┐рдХ рдХреИрд╢ рдЪрд╛рд▓реВ рдХрд░реЗрдВ:
query_cache_size = 16
рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдореВрд▓реНрдп рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдХреИрд╢ рдЙрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╕рд╛рд░рд╛рдВрд╢
рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛:
- nginx
- worker_processes
- рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдордп рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд
- access_log рдмрдВрдж рдХрд░реЗрдВ
- рдпреВрдирд┐рдХреНрд╕ рдХреБрд░реНрд╕рд┐рдпрд╛рдВ
- рдкреАрдПрдЪрдкреА
- рдПрдкреАрд╕реА рдореЙрдбреНрдпреВрд▓
- MySQL
- key_buffer
- innodb_buffer_pool_size
- innodb_flush_log_at_trx_commit = 0
- query_cache_size
- innodb_flush_method = O_DIRECT
- thread_cache_size
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ
рдЗрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдгрди рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реАрдХреЗ рднреА рд╣реИрдВред
- рд▓реЛрдб рдХреЗ рддрд╣рдд Nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
- рдХрдиреЗрдХреНрд╢рди рдХреЗ 100-200 рд╣рдЬрд╛рд░ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрдирд┐рдВрдЧ рдлреНрд░реАрдмреАрдПрд╕рдбреА
- рдЙрдЪреНрдЪ рдпрд╛рддрд╛рдпрд╛рдд рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП NGINX рдФрд░ PHP-fpm рдХрд╛ рдЕрдиреБрдХреВрд▓рди
- рдЗрд╖реНрдЯрддрдо MySQL рдЯреНрдпреВрдирд┐рдВрдЧ
- MySQL рдЯреНрдпреВрдирд┐рдВрдЧ - thread_cache_size
- LAMP рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рддреАрди рдкрд╣рд▓реЗ рдЪрд░рдг
- рдЕрдЧрд░ gzip рдХрдореНрдкреНрд░реЗрд╢рди рд╕рдХреНрд╖рдо рд╣реИ рддреЛ рдХреИрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ?
- рдХреИрд╢реЗ-рдирд┐рдпрдВрддреНрд░рдг рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреИрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ?