Нагрузка в топе
1.
Стас (17.03.2010 / 13:38)
Вопрос такой...нагрузка в топе проца, в топе 29 сайтов средняя статистика
всех сайтов: хостов 9636 Хитов 39182, есть такой запрос к бд, который работает постоянно:
нагрузка на проц память мб
13872 27 24.4 22400 3190:58 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
------------------
вот периодически идет скачек проца вплоть до нагрузки до 85%, притупляется листинг сайта, особенно просмотр статы...
хар-ки сервера: 2300 Гц, 800 мб, стоит еще проект но тот ест не более 5% всех ресурсов.
На что стоит обратить внимание? кэш статистики? или это нагрузка из за вывода статистики на картинку? как уменьшить? вообщем посоветуйте плиз.
2.
Azzido (17.03.2010 / 14:13)
из за картинки вряд ли такой скачек может быть, вопрос в том в какой момент нагрузка такк возрастает, возможно стоит оптимизировать запросы к базе данных
3.
Стас (17.03.2010 / 14:20)
скорее всего когда листинг по топу идет статистика постоянно обновляется нету кэша вывода...и запросы я думаю больше на это, ну кто то кэширует и картинки, но это в баннерках обычно
4.
Саня (17.03.2010 / 14:41)
Скрипт топа неоптимизирован. Выкинь и напиши новый или отдай этот кодеру на доработку. Инфа 100% )
5.
Стас (17.03.2010 / 14:49)
я и так понял что не оптимизирован...но суть нев этом, что стоит сделать для снижения, вот после этого только уже принять решение)
кэш статы? с автообновлением задержкой в пар минут? для всего топа...)
6.
Azzido (17.03.2010 / 15:07)
хм, хотя я вот так логически подумал, при листинге вряд ли много пользователей делают это одновременно, и перегрузка процессора скорей всего из за вывода картинки на многих сайтах несколькими пользователями тем более, думаю в первую очередь надо оптимизировать именно это а не кэш статистики
7.
Azzido (17.03.2010 / 15:10)
во первых картинку брать из готового графического файла, формируя скриптом только цифры счетчика, во вторых, кэш сделать именно здесь, чтоб каждый раз скрипт формирующий картинку не обращался к базе данных
8.
Azzido (17.03.2010 / 15:17)
...со сложными запросами
9.
Стас (17.03.2010 / 15:38)
да скорее всего формирование статы на картинке...
но кэш все равно нужен.
наверно стоит формирование статы на картинке пока отменить, глянуть что выйдет
10.
Стас (17.03.2010 / 15:58)
короче это не картинка...
только что закомментил функцию которыя берет данные и прописывает их на счетчике...но нагрузка не так уж сильно то и упало, листинг остался таким же тормознутым...КЭШ? всю стату, попробывать?
11.
Олег (18.03.2010 / 00:09)
bzik, проделай рефакторинг кода, выяви самые нагрузочные места в скрипте. Возможно, у тебя происходят однотипные запросы в цикле, что вполне могут создать такую нагрузку. Если верить твоему логу, который ты показыл, то у тебя делает нагрузку процес, порожденный MySQL-сервером, следовательно генерация картинки тут отпадает сразу, это очевидно.
12.
Стас (18.03.2010 / 09:40)
11.
Aligan, да это просто как вариант, ведь статистика берется ведь тоже с бд..но может на 1% нагрузка спала, это ничто...что то с выводом статистики тут надо ковырять, думаю что надо просто закешировать все...реально у меня есть сайт на файлах и летает все там) а тут блин)
надо просто перебирать варианты...
13.
Azzido (18.03.2010 / 12:20)
думаю надо просто пересмотреть скрипт запросы с циклами видимо неоптимизированы
14.
Олег (18.03.2010 / 12:36)
bzik, возможно у тебя либо не созданы индексы, либо они созданы неправильно. Обычно хосер может предоставить лог выполненых sql-запросов, превышающих заданный лимит
15.
Стас (18.03.2010 / 13:40)
у меня на впс стоит...) где там эти sql запросы...
URL:
https://visavi.net/topics/7071