Как уменьшить время ответа сервера сайта на WordPress. Wordpress долгий ответ сервера


Сократите время ответа сервера - как решить проблему?

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

И вправду, задержка перед загрузкой моего сайта про линукс очень большая, намного больше, чем на всех остальных сайтах в несколько раз, и это очень плохо!

Сократите время ответа сервера

Видите первую зеленую длинную линию? Вот такая дикая задержка и мне пока не понятно, чем это вызвано. По ходу написания статьи буду разбираться и чем дольше буду разбираться, чем длиннее будет статья.Но сначала поставлю на тестируемый сайт небольшой код в подвал, который будет показывать, какое время уходит на генерацию страницы. Вот этот код:

<!--noindex--> <center><?php print get_num_queries(). ' - столько SQL запросов к базе.<br />'. timer_stop(0, 6). ' - за столько сгенерировалась страница.'; ?></center> <!--/noindex-->

Посмотрим, какое состояние сайта на данный момент:

26 - столько SQL запросов к базе.1,205022 - за столько сгенерировалась страница.

Это главная страница сайта про линукс. Теперь проверю таким же образом главную страницу этого сайта:

34 - столько SQL запросов к базе.0,351147 - за столько сгенерировалась страница.

Как видите, запросов к базе данных больше, а скорость генерации страницы в ЧЕТЫРЕ раза меньше. При этом оба сайта на одном сервере, стоят практически одни и те же плагины, правда база данных на этом сайте поменьше, но все базы оптимизированы и весь хлам удален.Все это приводит к мысли, что сам сервер не виноват, иначе все сайты тормозили бы примерно одинаково. Значит причина может быть в следующем:

1. Есть какой то кривой плагин, который тормозит генерацию страницы.

2. Кривой шаблон и какие то ошибки в верстке мешают нормальной работе.

3. На сайте есть вирус, который тормозит его работу. Как проверить на вирусы сайт читайте по ссылке...

4. Ошибки в базе данных и данные долго считываются.

Даже не знаю, что еще можно предположить, начнем с этого, буду шаг за шагом проверить теории и смотреть на результат.

1. Как вычислить кривой плагин?

Тут все просто: сначала вырубаем СРАЗУ ВСЕ плагины и смотрим на результат:15 - столько SQL запросов к базе.0,937074 - за столько сгенерировалась страница.Как видите, мало что изменилось, а это значит, что плагины не причем. Эта теория проверена, идем дальше...

2. Как проверить шаблон WordPress?

Тут действуем сначала по той же схеме, закачиваем какой-нибудь бесплатный шаблон, вставляем в него наш код и смотрим на результат.27 - столько SQL запросов к базе.1,170909 - за столько сгенерировалась страница.Мда, результат тот же, значит тема не при чем, нужно рыть дальше.

3. Как проверить сайт на вирусы?

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

4. Как проверить базу данных?

У меня ушли сутки, прежде чем я решил проблему. Сразу хочу показать результат:

29 - столько SQL запросов к базе.0,168516 - за столько сгенерировалась страница.

Видите разницу? 1,2 секунды или 0,16 секунд? Это разница в ДЕСЯТЬ РАЗ! Как мне этого удалось достичь?

Как я и предполагал, дело было в базе данных. Никакие чистильщики не помогали, и тогда я стал делать все вручную. Очень помогла ВОТ ЭТА СТАТЬЯ, не знал о таких приемах при работе с базой данных.

Первое, что я сделал, это отсортировал таблицы базы данных, чтобы увидеть, что занимает больше всего места. Получилось вот что:

Сократите время ответа сервера wordpress

Самыми большими и поэтому вызывающими подозрение были 4 таблицы, в порядке убывания:

post - в этой таблице хранятся все статьи, к ней вопросов быть не может.options - тут хранятся все настройки и к этой таблице вопросы есть.postmeta - тут хранятся мета описания к статьям - к ней вопросы есть.comments - в этом разделе хранятся комментарии, к нему вопросов нет.

Сначала я взялся за таблицу POSTMETA и вычистил из нее немного мусора, в основном кэш, который оставил один плагин. Но все это не помогло. Тогда я взялся за таблицу OPTIONS.

Я установил плагин Clean Options (плагин создан ИСКЛЮЧИТЕЛЬНО для чистки ЭТОЙ таблицы), который нашел у меня более ТЫСЯЧИ осиротевших опций! Я удалил примерно 700 ненужных строк из таблицы, осталось 300, которые кажется нужны.

Сократите время ответа сервера вордпресс

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

Далее я сделал так: скачал эту таблицу на компьютер и открыл в обычном текстовом редакторе (лучше для разработчиков, у меня в линукс это Geany), сделал перенос строк и сразу увидел, что занимает ОГРОМНОЕ количество места!

Как сократить время ответа от сервера?

Виновником всему был cron! Если не знаете что это, то вот для справки:

cron — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время.

Я ничего не планировал, и я даже не знаю, какой плагин создал столько заданий! Я зашел в PHPMYADMIN и нашел в этой таблице этот раздел, затея я его безжалостно удалил! Таблица сократилась с 3,5 мегабайт до 168 килобайт! После этого сайт стал летать как ошпаренный!

Я не пользуюсь запланированными заданиями, и теперь буду думать, как отключить этот cron навсегда, иначе через время он может мне опять загадить базу данных таким чудовищным образом.

Если вы знаете, почему у меня все так вышло и как этого избежать в будущем, то охотно послушаю экспертный совет. А в целом я ОЧЕНЬ рад, так как сутки у меня были мысли только об этом. Осталось только все это сделать на других сайтах, вдруг и там есть эта проблема, пусть и не в таком масштабе? И напоследок похвастаюсь, плагин кэширования отключен:

скорость загрузки сайта

1,7 секунды - это кажется круто?

Как найти мусор от плагинов?

Нашел еще такой интересный плагин - Plugins Garbage Collector. Он сканирует базу данных и ищет таблицы, которые не принадлежат самому wordpress:

Plugins Garbage Collector

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

Как уменьшить время отклика от сервера?

Все это мне очень помогло ускорить сайт, но все же Google Speed сигнализировал мне, что время отклика от сервера очень большое. И виноват в этом не сам сам сервер, так как простые html документы загружаются без всяких задержек, а движок сайта WordPress, который как не ускоряй ракетой не станет. Что же делать?

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

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

Если кто-то первый сначала зашел на эту статью с телефона, то в кэше сохраниться мобильная версия страницы. А если потом на нее же зайдет другой человек с десктопа, то сайт ему покажет мобильную версию, что будет выглядеть очень коряво.

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

hyper-cache

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

pagespeed-insights-vremya-otklika-ot-servera

До 100/100 в Google Speed мне осталось совсем немного и уверен я достигну этого результата, так как почти все уже сделано, осталось совсем немного...

СОВЕТ ВЕБМАСТЕРУ: Умение зарабатывать в интернете - это только пол дела, вторая половина - это умение ВЫГОДНО обналичивать электронные деньги. Вот список офшорных банковских карт, на которые можно выводить средства и потом снимать с них хрустящие купюры:

1. Epayments - можно открыть счет в долларах, евро и рублях. Формально банка нет, юридический адрес в Лондоне, но можно получить реквизиты банка в Латвии.

2. AdvCash - Офшорный банк находится в Белизе, можно открыть счет в долларах, евро, фунтах и рублях.

3. Payeer - Штаб квартира этой платежной системы находится в Грузии, тут так же можно открыть счет в долларах, евро и рублях.

4. Capitalist - Можно создать счета в долларах, евро и рублях. Низкие тарифы на вывод. Компания зарегистрирована в юрисдикции Британских Виргинских Островов.

Во всех случаях можно заказать банковскую карту, которую пришлют вам по обычной почте. Активируете ее и идете снимать деньги банкомат! Тарифы смотрите на сайтах платежных систем.

zmoe.ru

Как уменьшить время ответа сервера сайта на WordPress

Первоочередной задачей при работах по ускорению загрузки сайта является сокращение времени ответа сервера.

Из причин долгого ответа сервера могут быть как общие причины, влияющие на работу всех сайтов, так и причины, свойственные только для сайтов на WordPress.

Общие причины большого времени ответа сервера

Причины долгого отклика сервера, характерные для сайтов  на WordPress

Итак, приступим к работе по уменьшению времени ответа сервера.

Уже не первый год пользуюсь хостингом Erahost. Этот хостинг отвечает все вышеперечисленным требованиям: SSD диски, хостинг в Словении, что не очень далеко, используется сервер nginx. По всем показателям он меня устраивает, ни разу не подвел меня. Так что рекомендую, если что.

Переходим причинам, свойственным сайтам на WP.

Для оценки времени загрузки страницы и числа обращений к БД в шаблоне в файле futer.php пропишем небольшой код

 

<!--noindex--> <center><?php print get_num_queries(). ' - столько SQL запросов к базе.<br />'. timer_stop(0, 6). ' - за столько сгенерировалась страница.'; ?></center> <!--/noindex-->
Ищем кривые плагины

livemonet.ru

Как сократить время ответа сервера - фото, скрипты и кэш

Нагрузка на сервер хостинга

Время ответа сервера – это скорость загрузки сайта. Чем быстрее грузится web-проект, тем лучше: в идеале надо стремиться к показателю в 200 и меньше ms. Давайте посмотрим, реально ли сократить время ответа сервера и как это сделать в практической плоскости.

Причины проблем

Цифры в 300 мс и выше оказывают негативное влияние на ранжирование сайта. Среди основных причин медленного ответа выделю:

  1. - Объёмные картинки,
  2. - Большое количество параллельных подключений к БД,
  3. - Кривую работу скриптов, плагинов и модулей,
  4. - Выключенное кэширование.

С картинками дело ясное – пережмите их и проблема отпадёт. С большим количеством запросов к базе данных дело сложнее, но эта проблема не рождается на пустом месте – ищите, что генерирует запросы. Тут плавно упираемся в 3 и 4 пункты списка проблем. Плагины и модули оптимизируют и своевременно обновляют. Они редко становятся причиной долгого ожидания ответа сервера, но считаются слабым местом для взлома.

Включение прогрессивного кэширования на Joomla

Скрипты и кэш

Две самые горячие точки на теле темы – это скрипты и кэширование. Проблему со скриптами решают с помощью акселератора APC или аналога. На большинстве хостингов его подключают как дополнительную услугу в панели управления. Стоит недорого, эффект заметен сразу.

Акселератор оптимизирует и кэширует PHP, что ускоряет работу сайта. Есть и другие акселераторы, подробнее вы узнаете у хостера, замечу только, что после подключения APC или аналога надо изменить обработчика файлов. По умолчанию в Joomla в настройках кэша указан «файл», укажите «акселератор» после его подключения.

Ещё одна пуля – кэширование. Если есть проблемы со временем ответа сервера, то включите прогрессивное кэширование. Проблемы с меню? В настройках модулей отключите кэш для меню и некоторых других блоков (скрин с Joomla 1.7 ниже).

Включение кэширования в меню

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

Советы по выбору сервера

Все проблемы с нагрузкой на сайт решит собственный сервер. Без него не обойтись, если вы занимаетесь сайтами профессионально, у вас много ресурсов и хороший трафик. От себя советую сервер HP ProLiant DL180 Gen9 с контролёром P840 или P440/4 Гбайт и 16 Гбайт RDIMM. Такая техника не подведёт, более того, тут есть место и экономии при большом количестве сайтов – не переплачивайте хостеру. При покупке сервера берите блок питания от 800 Вт и ОЗУ от 16 Гб, это не будет лишним, а переплата минимальна.

Неплохие модели HP Proliant DL580 Gen9 и HPE ProLiant DL20 Gen9 с контролёром B140i, но тут дело вкуса.

Итог

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

www.zegeberg.ru

Определить источник нагрузки на сервер? — Toster.ru

Приветствую!

Дано: Shared хостинг (Apache + MySQL) с выделенным ip и допустимой нагрузкой аккаунта в 3%. Сайт на wordpress с 600 постами и 200 униками в день. Также установлено много плагинов (около 20), перечислены ниже списком.

На протяжении 2 лет нагрузка не выходила за рамки 3% существенно и надолго. Но с начала октября хостер уведомил о значительном постоянном превышении лимита загрузки процессора. На тот момент средние значения за день были от 7-15%. Таблица загрузки в панели управления доступна только за календарный месяц, поэтому узнать каким образом загрузка росла или появилась сразу - не представляется возможным. К середине октября загрузка не опускалась ниже 10%.

Из предпринятых действий:- изменены все пароли.- обновление wordpress c 3.5 до последнего - ничего не поменяло.- включал кеширование сторонними плагинами - толку ноль.- отключены все плагины и закрыты папки к ним переименованием папки по ftp - толку ноль.- предложение через mod_status найти виновника хостером отвергнуто.- при закрытии в основном .htaccess по deny from all - загрузка падает до нуля.- смена темы с рабочей на twenty ten - ничего не изменила.- смена БД на свежую, только что установленную - загруз пришел к 0.7%.- импортируя по 1 таблице в БД за раз - вычислил, что после импорта таблицы wp_options загруз возвращается к 10-15%.- если из этой таблицы вычистить все кроме основных настроек вордпресса - загруз плавает в рамках 1.5 -2.5%. - в таблице wp_options содержится 420+ строк.

Грешил на хлам от плагинов в этой таблице. Но пока разбирался со строками - заметил, что загруз с оригиналом wp_options опустился к 3,5% - 6% на протяжении недели. Посещалка упала почти до нуля еще с начала октября из-за отключения рабочей темы и выпиливания таблицы постов. Судя по логу сервера заходят 1-5 человек в день. Боты поисковиков стучаться постоянно. Получается, что загруз при тех же данных снизился почти вдвое.

Данные на вчера: % от 1CPU (CPUTIME в минутах) = 6.05 % (87.12cp)Ср. ОЗУ (МБ) = 58.31 МБMySQL cputime = 39 сек.

У меня закончился арсенал вариантов и решений. Пожалуйста, подскажите в какую сторону копать или как выяснить откуда эта напасть с загрузом взялась?

У друга есть такой же аккаунт у этого хостера, 5 сайтов на вордпрессе и друпале с посещалкой каждого от 500 - 1000 уников. Загруз по его аккаунту не превышает 2-2.5%. Без какой либо оптимизации производительности и кеширования.

Список плагинов:AddThis Social Bookmarking WidgetAdRotateAdvanced Custom FieldsAll in One SEO Packbelavir (php MD5)Cat + Tag FilterComprehensive Google Map PluginContact Form 7Contextual Related PostsCyr-To-LatDagon Design Sitemap GeneratorDisplay Posts ShortcodeDisqus Comment SystemGet Post List With ThumbnailsGoogle XML SitemapsLightbox 2Meteor SlidesqTranslateШорткодыSimple Ads ManagerSimply Show IDsWordpress Popular PostsWP-pagenaviWP-PostRatingsWP PHP widgetWP в режиме обслуживанияWP TunerSimple "Coming soon" And "Under construction"

UPD: хостер говорит, что запросов медленнее 10 секунд нет.

toster.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта