Назад | Перейти на главную страницу

как лучше всего найти узкие места на моем веб-сервере LAMP?

Вы можете помочь мне найти узкое место на моем сервере. В предыдущем вопросе, который я задавал о SF, мне сказали, что с памятью проблем нет и у меня ее много.

Мне интересно узнать о ЦП, возможно, о HD ... что может помешать мне обслуживать вдвое большее количество обращений, если число моих пользователей увеличится?

мне нужно сделать какую-то оптимизацию httpd.conf? или оптимизация php.ini?

Сервер: 16 ГБ DDR3-RAM ECC HDD RAID1, 2x 250 ГБ SATA II-HDD 7,200 об / мин 2 дополнительных твердотельных накопителя 80 ГБ CPU 2x Intel Xeon E5520 Quadcore

программное обеспечение: php 5.3.6 mysql 5.5 apache 2.2.3 centos 5.5, 2.6.18-238.12.1.el5 # 1 SMP Вт 31 мая 13:22:04 EDT 2011 x86_64 x86_64 x86_64 GNU / Linux

текущее время вне часов пик:

top - 16:46:17 up 2 days, 14:57,  4 users,  load average: 4.22, 3.53, 3.19
Tasks: 305 total,   4 running, 300 sleeping,   0 stopped,   1 zombie
Cpu(s): 19.1%us, 11.1%sy,  0.0%ni, 69.6%id,  0.1%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:  16427200k total, 16280100k used,   147100k free,  3131684k buffers
Swap:  2104496k total,      268k used,  2104228k free,  6221860k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                            
20157 apache    15   0  387m  67m 4088 S 57.5  0.4   0:21.00 httpd                                                                                                                                                                                              
 4106 apache    20   0  389m  67m 5164 R 40.9  0.4   0:59.57 httpd                                                                                                                                                                                              
20156 apache    15   0  357m  35m 5072 S 33.9  0.2   0:24.82 httpd                                                                                                                                                                                              
20148 apache    18   0  357m  35m 5052 R 31.2  0.2   0:25.00 httpd                                                                                                                                                                                              
 1759 apache    15   0  391m  69m 5188 S 29.9  0.4   4:37.24 httpd                                                                                                                                                                                              
16194 apache    18   0  358m  36m 5192 S 28.9  0.2   3:44.69 httpd                                                                                                                                                                                              
20147 apache    16   0  357m  35m 5148 S 23.6  0.2   0:26.73 httpd                                                                                                                                                                                              
17329 apache    15   0  370m  48m 5188 S 15.0  0.3   2:13.67 httpd                                                                                                                                                                                              
20140 apache    15   0  359m  37m 5136 S  8.0  0.2   0:20.53 httpd                                                                                                                                                                                              
28473 apache    15   0  358m  36m 5172 S  4.0  0.2   1:20.78 httpd                                                                                                                                                                                              
20158 apache    15   0  357m  35m 5112 S  3.7  0.2   0:22.96 httpd                                                                                                                                                                                              
26922 apache    15   0  357m  36m 5840 R  2.3  0.2   2:22.49 httpd                                                                                                                                                                                              
26925 apache    15   0  358m  36m 5188 S  2.3  0.2   1:28.63 httpd                                                                                                                                                                                              
12642 apache    15   0  357m  35m 5076 S  1.7  0.2   0:40.92 httpd                                                                                                                                                                                              
17963 apache    15   0  357m  35m 5152 S  1.7  0.2   0:27.35 httpd                                                                                                                                                                                              
 2687 apache    15   0  358m  36m 5192 S  1.0  0.2   4:28.17 httpd                                                                                                                                                                                              
 4419 mysql     15   0  668m 175m 7204 S  1.0  1.1   4:07.99 mysqld                                                                                                                                                                                             
20155 apache    16   0  368m  46m 5144 S  1.0  0.3   0:16.67 httpd                                                                                                                                                                                              
26923 apache    17   0  387m  66m 5168 S  1.0  0.4   1:42.18 httpd                                                                                                                                                                                              
 1277 apache    15   0  355m  34m 3988 S  0.7  0.2   0:11.11 httpd                                                                                                                                                                                              
 3571 root      16   0 13400 1792  848 S  0.3  0.0   3:03.17 top                                                                                                                                                                                                
32204 root      15   0 90156 3404 2648 S  0.3  0.0   0:00.19 sshd                                                                                                                                                                                               
    1 root      15   0 10372  680  572 S  0.0  0.0   0:02.04 init       

На этой распечатке верха я не увидел узких мест:

  • у вас 8 ядер ЦП (16 с гиперпоточностью?), 4 процесса требуют процессорного времени в данный момент (загрузка)
  • у вас 16 ГБ ОЗУ, реально используется только 6 ГБ
  • здесь нет ожидание, так что, конечно, нет IO-ожидание

Если ваш сайт работает медленно, вы можете взглянуть на:

  • заголовки с истекшим сроком действия (кэшируется ли статический контент на стороне клиента?)
  • загрузка вашей базы данных
  • с использованием обратного прокси

На выходе все выглядит нормально. Какое время загрузки страницы сейчас? Вы запускали Apache Bench или что-нибудь еще против сервера, чтобы посмотреть, как он обрабатывает нагрузку? Есть ли у вас выход SAR?

Вы можете легко отклониться от более высоких технологий, таких как HipHop и Flashcache, не видя никаких преимуществ.

Если вы подозреваете, что ваш код излишне медленный, вы можете использовать что-то вроде XDebug в окне разработки, чтобы получить информацию о профилировании. Я использовал это в прошлом для оптимизации критических функций в некоторой базовой логике действительно сложного экономического приложения. Результат может быть огромным, поэтому запланируйте дополнительные 300 ГБ места. Программное обеспечение, такое как WinCacheGrind, позволит вам интерпретировать результаты.