Мы установили WordPress на экземпляр EC2 t1.micro и установили Buddypress, и все работает отлично для одного пользователя, но при одновременном доступе к пользователю, вниз, из-за проблемы с RAM, httpd (Apache) занимает максимальную память, как ее преодолеть, есть ли какая-либо конфигурация в файле http.conf или любом инструменте блокировки сети/трафика, который мне нужно установить?Как настроить экземпляр Amazon EC2 t1.micro для Buddypress
ответ
Micro экземпляры, как известно, слишком малы, чтобы обрабатывать WordPress и MySQL вместе. Они собираются превзойти (чрезмерно использовать функцию замены диска) или просто закончили работу с ОЗУ и сбой.
Вам нужно будет сделать много настроек, чтобы получить это право на микро-экземпляре, и он никогда не будет устойчивым к скале. Это боль в шее. Если ваше время стоит больше, чем доллар в час по сравнению с хостинговой комиссией, вы должны перейти на экземпляр с большим количеством оперативной памяти или зарегистрироваться в одной из многочисленных учетных записей хостинга в размере 6 долларов США в месяц, доступных в мире.
С чего начать настройку? Попробуйте установить значение в Apache httpd.conf.
Комплект MaxRequestWorkers
к низкому числу. Вы можете попробовать 4. Когда это число будет низким, у вас также не будет много одновременных клиентов, подключающихся с вашего Apache/php к вашему серверу MySQL.
Запросы клиентов веб-браузера будут выставлены в очередь, когда все ваши рабочие заняты. Это работает правильно, но может сделать ваш веб-сайт медленным для ваших пользователей. См. Параметр backlog
в Linux documentation for listen(2)
для объяснения этой очереди.
Это спасет как ресурсы Apache, так и ресурсы MySQL.
http://httpd.apache.org/docs/current/mod/mpm_common.html#maxrequestworkers
Тогда вы, вероятно, следует искать в файле my.conf для MySQL, и посмотреть, что вы можете играть с.
Редактировать MySQL, Apache и php все используют один и тот же пул ОЗУ - 512 МБ, если я правильно помню. Сокращение числа сотрудников Apache должно помочь контролировать использование ОЗУ Apache (и php, который, вероятно, работает в адресном пространстве сервера Apache). Сделай это.
Затем перейдите к пункту memory_limit в php.ini. Он установлен на 128M во многих стандартных установках. Попробуйте уменьшить его до 64M или 40M. Это заставит каждый экземпляр php использовать меньше ОЗУ. Но если ваша установка WordPress сложна (много плагинов, причудливая тема), это может привести к тому, что некоторые страницы не загрузятся. WordPress анонсирует проблему по мере исчерпания памяти. http://php.net/memory-limit
Затем перейдите в my.ini MySQL. Стандартная установка MySQL поставляется с файлом my-small.ini, который содержит параметры конфигурации для небольшого экземпляра MySQL. Ваш может быть небольшим: таблицы WordPress содержат сотни или несколько тысяч строк, а не сотни тысяч. Сохраните старый файл my.ini, а затем скопируйте содержимое my-small.ini в my.ini. Перезагрузите свой сервер MySQL после этого.
Эти шаги могут помочь вам пискнуть в микро-экземпляре. Они не могут. Они, я полагаю, стоит попробовать.
Спасибо, ollie, mysql работает отлично, проблема с httpd, какая минимальная конфигурация, которая может служить WordPress? – Chetak
Реальный вопрос: какова минимальная конфигурация для WP и BP. BP в последнее время намного эффективнее, но все же имеет больший след, чем WP.И многое зависит от количества пользователей и одновременных пользователей. IOW. микро-экземпляр слишком мал – shanebp