Снижение нагрузки

Снижение нагрузки — что это такое и как оную проводить?

Снижение нагрузки в контексте создания сайта — это все меры, принимаемые для того, чтобы уменьшить нагрузку на процессор, оперативную память и винчестеры (или SSD на хостинге Timeweb) сервера хостинга.

Проблемой снижения нагрузки занялся вынужденно: после того, как в январе 2014-го года нагрузка на процессор сервера хостинга на несколько дней превысила допустимые на моём тарифном плане 50-т cp.

Вот расшифровка таинственных параметров нагрузки хостинга Timeweb:

Нагрузка на CPU измеряется в cp (cpu points) и равна количеству минут, потраченных одним ядром процессора на выполнение процессов пользователя.

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

Решение проблемы нашёл достаточно быстро — с тех пор регулярно наблюдаю за показателем cp на административной панели хостинга.

Самым быстрым, эффективным и простым способом, вызывающим весьма существенное снижение нагрузки, является, по моему мнению, установка плагина WP-Super-Cache.

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

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

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

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

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

В те дни, когда я не занимаюсь сайтом, нагрузка столь мала, что позволяет сделать такой вывод: сайт на выбранном самом дешёвом тарифном плане Year может иметь примерно до 25-ти тысяч посетителей в сутки, не особо перегружая сервер хостинга Timeweb!

Замечу, что хостинг Timeweb.ru на 4-х наиболее дешёвых тарифных планах ограничивает нагрузку 50-тью cp, а 150-т cp допускает, начиная с тарифного плана Eterno стоимостью 8415-ть руб/год.

А вот нагрузку на MySQL, ограниченную на тарифном плане Year 1000-ю единиц, Timeweb учитывает теперь изредка: примерно раз в три недели.

Может показаться, что хостинг Timeweb зря тратит процессорное время на подсчёт cp, — многие хостинги ограничивают лишь дисковое пространство, выделенное согласно тарифному плану, но при этом в договоре на обслуживание прописывают пункт, согласно которому они имеют право отключить сайт, создающий чрезмерную нагрузку. Так что позиция хостинг Timeweb мне представляется более правильной.

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

Однако это просто-напросто экономически невыгодно: во-первых, расходы на электроэнергию будут сравнимы или даже превзойдут плату хостингу; во-вторых, придётся оплачивать более скоростной Интернет, чтобы гарантировать быстрый доступ к страницам сайта; в-третьих, придётся оплачивать Интернет и летом; в-четвёртых, придётся купить компьютер в корпусе barebone с приличными характеристиками взамен настольного ПК, чтобы экономить на оплате электроэнергии; в-пятых, придётся взять на себя все заботы по поддержанию работоспособности barebone-компьютера, операционной системы сервера, базы данных и самого сайта; в-шестых, придётся оплачивать ежемесячно выделенный IP-адрес (в МГТС это оплата составляет 130-ть руб/месяц).

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

Не утерпел и прикинул примерную стоимость аппаратной составляющей домашнего сервера:

1. barebone Gigabyte GB-XM12-3227 (Core i3-3227U, 1.9 ГГц, HM77, HDMI, miniDP, GbLAN, WiFi, SATA, 2DDR-III SODIMM, 65-ть Вт) — 10783 руб. (9750-т руб.)

2. RAM Crucial ( CT25664BF160B ) DDR-III SODIMM 2Gb ( PC3-12800 ), 2 шт. — 2*1032 =  2064-ре руб. (1740-к руб.)

3. SSD 60GB mSATA 6Gb/s Kingston SSDNow mS200 Series SMS200S3/60G, r до 550 Мбит/сек, w до 520 Мбит/сек — 2443 руб. (2305-ть руб.)

4. ЖК телевизор Full HD с HDMI - есть в наличии.

Итого примерно 15290-то рублей по ценам магазина НИКС по состоянию на 15.11.2014. Применяя разные способы экономии, вполне можно было уложиться примерно в 13800-т рублей. В связи с ростом курса доллара цены на комплектующие значительно выросли, но вносить изменения в стоимость домашнего сервера не буду, надеясь на грядущие снижения курса доллара.

Само собой разумеется, что начинать нужно с установки серверного программного обеспечения на SSD 30 GB неиспользуемого настольного ПК, регистрации ещё одного сайта и установки его на собственный сервер. После этого нужно провести тестирование скорости доступа к сайту на собственном сервере.

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

При этом нужно осознавать, что надёжность сервера на barebone ниже, чем надёжность профессиональных серверов хостинга, поэтому нужно прикидывать способы создания маломощного сервера с резервированием SSD.

Сборка сервера (200 Вт, i3-3250 3.5 GHz, 2*4 GB DDR3 ECC, 2*100 GB серверных SSD) обошлась бы примерно в 45000-ч рублей, что делает его создание и содержание нерентабельным, ибо сложно обеспечить компенсацию затрат.

Считаю, что на собственном сервере имеет смысл размещать лишь редко посещаемый сайт, доступный только доверенным лицам и не всегда к тому же включённый, или же макет сайта, доступный только создателю сайта.

Вот дополнительная информация об источниках нагрузки на сервер хостинга:

Основные причины, по которым блог очень сильно нагружает хостинг:

  • Постоянная проверка обновлений (как плагинов, так и ядра системы)* - каждый раз, когда Вы заходите в административную часть системы WordPress, система начинает проверять версии плагинов и ядра системы. Делает она это, обращаясь к сайту плагина или сайту WordPress, и сравнивает версии. 
  • Отсутствие кэширования содержимого - если Вы сделали запись (пост) в Вашем блоге, то для каждого посетителя эта страница будет генерироваться со стороны сервера.
  • Большое количество ненужных виджетов - увеличивает время генерации страницы.
  • Большое количество ненужных плагинов - плагины, работающие с базой данных, направляют в нее запросы, а также проверяют наличие новых версий.
  • Множественные запросы к базе данных (вывод последних комментариев, последних новостей, самых популярных новостей/комментариев в отдельном блоке) - нагружает сервер.
  • Множественные лишние запросы в самом шаблоне  — потребляется большое количество ресурсов сервера для генерации страниц. Эти запросы можно заменить на статическое содержимое.

Обратите внимание, что даже Ваши неактивированные плагины проверяют наличие новых версий.

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

Пока что лишь удалил 9-ть неиспользуемых плагинов — если понадобится, их легко заново установить, пользуясь тем, что они предусмотрительно перечислены на странице Плагины. А вот 5-ть активированных и 4-ре неактивированных плагина всё-таки оставил, считая дополнительную нагрузку незначительной и терпимой.

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Снижение нагрузкиПродолжение тут…

Deviz_1

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.