Я написал сайт CMS с нуля, и теперь, когда сайт медленно начинает получать трафик (30-40 тыс. В день), я вижу нагрузку на сервер намного выше, чем должна быть. Он постоянно колеблется около 6-9 на четырехъядерной машине с 8 ГБ оперативной памяти. Я написал сценарии, которые прекрасно выполнялись на сайтах 400-500 тыс. / День, поэтому я хотел бы думать, что я не совсем некомпетентен.
Я сократил количество запросов, выполняемых на каждой странице, почти на 60%, объединив запросы, полностью исключив некоторые вызовы mysql и заменив некоторые разделы сайта статическими TXT-файлами, которые при необходимости обновляются с помощью php. Все эти изменения повлияли на время выполнения страницы (индекс загружается за 0.3 с, а не за 1.7, как раньше).
IOwait практически отсутствует, а база данных mysql составляет всего 30 МБ. На сайте работает lighttpd, php 5.2.9, mysql 5.0.77
Что я могу сделать, чтобы понять, что именно вызывает высокую нагрузку? Я действительно хочу локализовать проблему, так как «top» просто сообщает мне свой mysql, который постоянно колеблется в пределах 50-95% загрузки ЦП.