Нагрузка в топе

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