Я запускаю сайт на AWS со следующей настройкой:
Как правило, сайт эффективен, но посещаемость у него довольно низкая - скажем, около 50-100 посещений в час. Однако в часы пик мы видим примерно вдвое больше трафика. В пиковое время почти каждый день:
В этом случае сайт иногда становится недоступным, что, безусловно, следует из мониторинга pingdom.
Кто-нибудь узнает такое поведение? Можете ли вы указать мне правильное направление, чтобы начать расследование? Конечно, RDS затрудняет выполнение таких вещей, как медленное ведение журнала запросов, поэтому я начал с регулярного сброса списка процессов mysql в файл, чтобы посмотреть, есть ли что-нибудь, что я могу там найти, но было бы хорошо иметь что-то более конкретное. исследовать.
ОБНОВИТЬ
По крайней мере, может ли кто-нибудь подтвердить, что я определенно прав, говоря, что уровень трафика подразумевает, что проблема должна быть определенным типом запроса путь дольше, чем должно выполняться? Это произойдет, если таблица заблокируется, и в нее нужно будет писать много запросов, верно? По этой причине я уже изменил тип таблицы __session на InnoDB.
Вместо того, чтобы сбрасывать запросы, вы можете включить медленное ведение журнала запросов с использованием групп параметров БД RDS. RDS сохраняет медленные запросы в таблице mysql.slow_log. Вот полезный нить.
Чтобы повысить производительность, используйте какой-нибудь механизм кеширования, такой как плагин Joomla System Cache.
С MySQL может и не быть проблем. Вам также необходимо учитывать другие вещи, такие как размер изображений и количество изображений, обслуживаемых веб-сервером, производительность расширений, используемых с Joomla.
Я не думаю, что это проблема MySQL. Вы описываете то, что я испытал на веб-сайтах Joomla, когда выделения памяти для экземпляра (фрагмента) недостаточно. Я предлагаю увеличить объем памяти, а затем отслеживать результаты для улучшения.
Если вы все еще думаете, что это проблема MySQL, я бы создал фиктивное приложение с использованием MySQL и провел на нем нагрузочное тестирование.