![]() |
|
|
![]()
|
|
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
Добрый день. Начал временами тормозить сервер.
CentOS, Apache 2.2.3, PHP 5.2.9, mySQL 5.0.45, не рейд. Крутится на нем самописный быдлокодерский интернет-магазин. До недавнего времени работал нормально, со всеми нагрузками справлялся. Сейчас же временами начинает тормозить, как при выдаче статики, так и при выполнении скриптов. Запросов к БД больше секунды не наблюдается (судя по включенному log-slow-queries), хотя бывает в "show processlist;" висят процессы с описанием NULL, но я так думаю, что это незакрытые соединения на время выполнения скриптов. Иногда даже phpinfo() выполняется по несколько минут, медленно выдавая контент. Т.е. задержки в получении, ожидании и соединении у любого запроса. "top" временами показывает практически полную загрузку процессора на "mysqld". Причем, иногда, когда страница "висит", никаких процессов не наблюдается. Связи между какими-либо запросами и тормозами обнаружить не удалось. DDOS исключен. При частых запросах hdparm выдает: Timing cached reads: 1812 MB in 2.00 seconds = 906.29 MB/sec Timing buffered disk reads: 86 MB in 3.57 seconds = 24.07 MB/sec При отсутствии запросов: Timing cached reads: 1948 MB in 2.00 seconds = 974.33 MB/sec Timing buffered disk reads: 196 MB in 3.02 seconds = 65.00 MB/sec (иногда > 90 МВ) Появилось это случайно, само по себе. Подозрений много и на все. Даже не знаю как локализовать проблему. Спасибо. |
|||
|
||||
| 1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: 2 Всего: 8 |
А если таблички в базе пожать?
|
|||
|
||||
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
делал myisamchk -evi
не помогло. Кстати иногда при оооочень долгой загрузке страницы выдает mysql has gone away |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Если Apache отдаёт статичные файлы и ограничено количество одновременно работающих процессов, то при небольшой посещаемости сайта к нему могут быть сделаны множество запросов (картинки, js, css) и большая их часть повиснет в ожидании свободного процесса. Лимит очереди определяется этой директивой. Если очередь большая - сайт висит, хотя процессы загружены минимально, так как статика не даёт большой нагрузки. Если лимит уменьшить - зависания исчезнут и в таких случаях будет сразу выдаваться сообщение о временной недоступности.
Если описанное предположение верное, то поможет установка дополнительного сервера для статического контента. |
|||
|
||||
| 1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: 2 Всего: 8 |
mcTep, myisamchk -evi делает расширенную проверку, и не более того. Как насчёт попробовать сделать OPTIMIZE TABLE?
Wolf1994, а почему при этом мускуль напрягается как электричество? |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
1000000dollars, возможно, из-за большого значения ServerLimit - процессы httpd "съедают" всю память, включается swap и это отражается на обычно самом ресурсоёмком процессе - mysqld.
|
|||
|
||||
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
1000000dollars, сделал оптимизацию, не особо помогло. Нагрузки иногда достигают 90%.
Wolf1994, ну я думал nginx поднять, но это наверное на новом сервере сделаю. Текущему серверу уже года 4 наверное и тариф у хостера устарел. Хотелось бы узнать почему сайт неожиданно тормозить стал. Добавлено через 5 минут и 41 секунду Мне кажется, что все таки дело в БД. Код написан безжалостно по отношению к БД (очень-очень-очень много повторяющихся запросов в циклах и прочего ужаса). Мне кажется, что все скрипты тормозят и ждут пока выполнятся все запросы к БД. Потому тормозит phpinfo и статика. Я уже и кеш в два раза увеличил. Можно ли еще както увеличить скорость работы мускуля без переустановки чего-либо? Добавлено через 6 минут и 46 секунд Wolf1994, свап пустой Добавлено через 7 минут и 21 секунду Wolf1994, вообще оперативы много свбодной Добавлено через 12 минут и 52 секунды Может попробовать увеличить? При открытии главной страницы выполняется примерно 100 запросов
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
httpd занимает 10-13 Мб (могу ошибаться), лимит в 256 позволяет занять: 256*10=2,5 Гб памяти. Если памяти больше, то проблема не в этом.
Не очень хороший параметр для 100 процессов на одну страницу - означает, что одновременно могут ожидать обращения не более 20 процессов, если требуется больше - они запускаются заново. Запуск каждого нового процесса потребляет ресурсы и делает лишним: - при таком количестве часто завершаемых и запускаемых процессов время жизни httpd в 4000 обращений почти не имеет значения. |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 3 Всего: 29 |
Проверьте директивы KeepAlive и KeepAliveTimeout, с их помощью можно снизить количество запросов для одной страницы до минимума. |
|||
|
||||
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
Включил KeepAlive. Вроде как по-шустрее. Но все равно скрипты долго выполняются. И мускуль, бывает, жрет процессор.
Подождем пика активности. Это сообщение отредактировал(а) mcTep - 2.9.2011, 13:59 |
|||
|
||||
| Сумасшедший |
|
|||
|
Чилавек-Каропка ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 15.8.2004 Где: Москва Репутация: 13 Всего: 107 |
Нагрузка на диски высокая?
-------------------- Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас! |
|||
|
||||
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
Сумасшедший, как проверить нагрузку?
|
|||
|
||||
| Сумасшедший |
|
|||
|
Чилавек-Каропка ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 15.8.2004 Где: Москва Репутация: 13 Всего: 107 |
vmstat 1
-------------------- Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас! |
|||
|
||||
| mcTep |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 25.2.2009 Репутация: нет Всего: 6 |
Нет, не высокая.
bo максимум 1500, если это показатель нагрузки. Это сообщение отредактировал(а) mcTep - 5.9.2011, 11:31 |
|||
|
||||
| Berger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.9.2011 Репутация: нет Всего: нет |
Интересно, а целостность самой БД этого интернет-магазина на предмет её целостности (отсутствия ошибок) кто-нибудь проверял?
П.С. Прикрутить Nginx к Apache (в качестве фронтенда) - не так уж и сложно, даже на уже работающем веб-сервере, а нагрузку такая связка снимает довольно прилично. Это сообщение отредактировал(а) Berger - 25.9.2011, 13:20 |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 5 Всего: 32 |
Профайлером (xdebug, к примеру). А вообще пророчу, что поможет грамотная расстановка индексов в базе. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |