Назад | Перейти на главную страницу

Как уменьшить количество операций ввода-вывода на микроэкземпляре EC2, работающем на wordpress

Я управляю очень маленьким сайтом wordpress на Amazon EC2 около 2 месяцев, используя микро-экземпляр уровня бесплатного пользования.

Каждый месяц мне выставляют счет на несколько долларов за превышение лимита ввода-вывода на диск.

Я изучил, как уменьшить количество операций ввода-вывода на диске, и внес некоторые изменения, такие как добавление разрешения кеширования изображений в браузере путем изменения apache.conf, минимизации изображений и плагинов и т. Д.

Затем я добавил в PHP модуль APC. Я ожидал, что это сильно сократит количество операций ввода-вывода, но, похоже, это не имеет значения.

Статус APC (apc.php):
http://oi41.tinypic.com/30t5gud.jpg

Вывод vmstat во время загрузки одной веб-страницы:

Кажется, что во время загрузки веб-страницы происходит ввод-вывод. Я не понимаю, почему, поскольку PHP должен быть в кеше APC, а изображения уже кешированы в моем браузере.

Моя цель - просто уменьшить количество операций ввода-вывода, а следовательно, и стоимость. Что я могу сделать для этого? Например, неправильно ли настроен APC или есть другой способ избежать ввода-вывода?

(PS: плагин W3TC wordpress у меня не работал. Я, вероятно, не установил его правильно - он заблокировал мне доступ к сайту, перегрузил процессор и остановил сайт.)

Мы видим, что у вашего экземпляра очень мало памяти, и он действительно меняет местами. Это дисковый ввод-вывод, за который вам будет выставлен счет, а также замедлит работу вашего сайта.

Освободите часть памяти, остановив ненужные процессы и настроив свой веб-сервер для работы меньшего количества рабочих (например, Apache или php-fpm).

Несколько вещей...

  1. Попробуйте что-то вроде batcache для Wordpress, так как он кэширует только часто используемые страницы и, таким образом, снижает некоторые накладные расходы от предварительного кеширования всего.

  2. Я бы рекомендовал перейти на NGINX для вашего HTTP-сервера, если у вас очень мало доступной памяти. Это супер эффективно.

  3. Проверьте использование ресурсов MySQL. В 99% случаев он настроен слишком щедро и съедает всю доступную память сервера.