Wordpress (nginx кэш + Apache + fcgid) привязывающий все 8 центральных процессоров

Попытайтесь изучить свой phpMyAdmin.conf, если у Вас есть что-то вроде этого:

<Directory/usr/share/phpMyAdmin>
order deny,allow
deny from all
allow from 127.0.0.1
</Directory>

Это на самом деле сказало бы, что Вы не можете получить доступ к phpMyAdmin от удаленного компьютера, я удалил бы тот бит и протестировал бы сначала и затем сообщил бы нам если та работа или нет.

1
задан 4 August 2012 в 20:15
3 ответа

Ваша проблема здесь:

Нет WP Super Cache (nginx не поддерживает кэширование), без XCache.

Установите APC Zend OPcache и W3 Total Cache и наблюдайте, как использование вашего процессора упадет почти до нуля.

APC Один только Zend OPcache должен дать вам немного

Обратите внимание, что W3 Total Cache не полностью поддерживает работу с несколькими сайтами, поэтому его необходимо настраивать для каждого сайта индивидуально. Его можно настроить для использования существующего memcached для кеширования.

Вы также можете избавиться от Apache. Он абсолютно ничего не делает для вас.

(Примечание: APC устарел и на практике оказался ненадежным.

1
ответ дан 3 December 2019 в 21:45

Судя по другим ошибкам, которые вы видите, было бы очень удивительно, если бы там не было какого-то плохо продуманного кода - обзор кода мог бы быть лучшим способом устранения неполадок.

Cannot redeclare class FacebookRestClientException

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

1
ответ дан 3 December 2019 в 21:45

Кэширование памяти определенно поможет, особенно для внутреннего кэша объектов WordPress. Как говорит Майкл, W3 Total Cache не полностью поддерживает работу с несколькими сайтами и является довольно всеобъемлющим / сложным / тяжелым, поэтому я бы рекомендовал более чистую и простую альтернативу, которая очень похожа на настройку на wordpress.com: APC Object Кэш (который быстрее, чем memcached для отдельных серверов) для кэша объектов и Batcache для кэширования полностраничной памяти. Обратите внимание на инструкции по установке для каждого из них, они отличаются от стандартных плагинов.

Очевидно, вам нужно будет установить APC для PHP, если у вас его еще нет, и настроить его соответствующим образом. Например, stat = 0 значительно ускорит процесс, но если вы установите это, вы Вам нужно будет перезапустить процессы PHP при изменении любых файлов PHP (например, при обновлении плагинов и ядра WordPress). Убедитесь, что вы установили панель apc.php (возможно, вам придется получить ее из архива исходных текстов APC в зависимости от пакетов вашей ОС), она очень полезна для настройки и отладки. (Заблокируйте его / защитите паролем, помните.)

В качестве альтернативы, поскольку у вас уже установлен memcached, есть плагин Memcached Redux , который выполняет ту же функцию, что и APC Object Cache. Это может быть более простой путь.

Возможно, вы не получите огромной выгоды от Batcache, поскольку вы уже используете nginx для файлового proxy_cache, но это определенно не повредит, если у вас есть свободная память и может помочь, сократив разрыв между файловым кешем и прямым обращением к Apache, так что попробовать стоит.

Посмотрим на ваш пункт 3. Я настоятельно рекомендую отключить сжатие как в Apache, так и в PHP, т.е. отключить mod_deflate и изменить zlib.output_compression = Off в php.ini. Nginx - это ваш интерфейс, поэтому сжатие в любом случае будет выполняться за вас, поэтому нет необходимости делать это дважды - nginx, вероятно, сделает это быстрее / эффективнее и сэкономит процессор ваших процессов Apache / PHP.

Сколько плагинов активированы? Все ли они необходимы? Можете ли вы отключить их один за другим и посмотреть, какая разница? Я видел некоторые плагины с ужасно закодированным кодом, у которых были сильно повреждены сайты, так что проверьте их, если можете.

Вы упомянули, что сайт был сильно изменен несколькими разными командами разработчиков программного обеспечения. Есть ли какой-либо контроль версий, чтобы вы могли видеть, какие изменения были внесены? Они прямо в ядро, тема или плагины? Если они дошли до сути, можете ли вы различать вещи, чтобы получить лучшее изображение, или это слишком сильно модифицировано? Двигаясь вперед, рефакторинг изменений от ядра к теме сайта functions.php и дискретным плагинам может значительно облегчить вашу жизнь, если вы сможете это сделать.

0
ответ дан 3 December 2019 в 21:45

Теги

Похожие вопросы