Оптимизация WordPress ????

Добрый день уважаемые знатоки wordpress!
Вот столкнулся с проблемой… мой сайт черезмерно нагружал хостинг и нам прямым текстом сказали сворачиваться.
Подключив к работе нескольких знакомых начали разбираться как и почему происходит огромная нагрузка на сервер.
Оказалось что движок генерирует массу интересных запросов.
Например:
У меня на сайте выводится 15 новостей в формате
Заголовок = ссылка на статью
Анонс статьи (то что до more)

При просмотре лога базы оказалось что wordpress сразу загружает весь текст статьи уже на этом этапе, так что получается у меня кроме всего прочего из базы каждый раз выгружается полная информация о 15 статьях включая их содержание.
Подумав решили что нам в принципе не надо выгружать содержание статьи при выводе их списком (можно ведь анонс статьи вписывать в поле post_excerpt) и полезли в код…
версия wordpress 2,2,3.

файл \wp-includes\query.php
Заменяем строку

$fields = apply_filters('posts_fields', "$wpdb->posts.*");

на

$fields = "ID, post_author, post_date, post_date_gmt, post_title, post_category, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count";

а строку

$request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";

на

$request = " SELECT $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";

теперь мы выгружаем все данные кроме поля post_content таблицы wp_posts
на данном этапе вроде все нормально, но вот возникла проблема этот же запрос используется для выведения статьи… соответственно текста статьи мы не видим…

Отсюда вопрос- может кто-то уже с этим сталкивался и знает решение?
Заранее спасибо за любую помощь.

Не могут 15 статей загрузить сервер если они меньше Войны и Мира в сумме.

Меняйте хостера. GoDaddy за 7 долларов держит до 5 тысяч посетителей в сутки легко (не считая моего вечно загруженного "Видео гола" – не удаётся побороть leeching)

Тогда может скажешь откуда у меня такая нагрузка на базу и память на vds забита дальше некуда?

Вобщем эксперименты продолжаются…
Нарыл в файле query.php строки которые формируют запрос… и поставил условие… вопрос в том насколько оно правильно объявлено… так как в админке теперь не показываются номера страниц при просмотре закладки "Управление"

if ($this->is_home){
        $fields = "ID, post_author, post_date, post_date_gmt, post_title, post_category, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count";
        }
        else { $fields = apply_filters('posts_fields', "$wpdb->posts.*"); }

В итоге получается что полный текст статьи типа выбирается только на странице просмотра статьи..
Вобщем крайне нуждаюсь в советах людей знающих пхп и ориентирующихся в дебрях кода wordpress… нужно проверить насколько правильно использовать такой вариант запроса…

Я в php чайнег, поэтому помочь дельно не смогу, но за обсуждением буду следить с интересом!

А это хоть как-то помогло? Мне например никак не помогло изменение количества новосте на главной, что 5 что 15 один х.
Неужели может помочь обновление до 2.5? Сейчас попробую поставить этот супер-кеш или как его там

Тогда может скажешь откуда у меня такая нагрузка на базу и память на vds забита дальше некуда?

дак что у вас за VDS такой?
сколько посетителей?
поставьте кэш и если сайт обновляется не часто – побольше время жизни кэша выставьте.

А это хоть как-то помогло? Мне например никак не помогло изменение количества новосте на главной, что 5 что 15 один х.

Если цель оптимизировать движок – то это не поможет, можете и не париться. Ибо чушь еси.
Если цель лучше понять, как устроен WP и как работает MySQL – тогда можно ставить опыты, польза будет.

Attlant, можно конечно потратить кучу времени на оптимизацию WP и прийти к определенным результатам. Но что-то мне говорит о том что ты не настраивал Apache на своем VDS, для виртуального хостинга в этом даже вопроса не стоит, а вот для VDS весьма актуально.
Вот статья по теме – http://www.salex.ru/book/book.php?httpd_prefork Там подробно описано что нужно настраивать для урегулирования нагрузки на память и бд.
Результаты такой настройки при верном подборе нужных параметров сокращают расход памяти и кл-во запросов к бд в разы.

Anonymous
Отправить
Ответ на: