20.11.2016

Статьи / Что происходит до кэширования и почему d-wp дешевле набора бесплатных плагинов?

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

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

В самой основе плагина лежит маниакальный принцип экономии ресурсов. При этом функционал не только сохраняется в полном объеме, но и расширяется. Экономится каждый запрос в базу данных, каждый байт оперативной памяти, каждый байт жесткого диска и каждый такт процессора. Именно поэтому свои настройки скрипт хранит не в базе данных, а в константах. Что-то, что может загрузиться быстрее представить тяжело. Для считывания всех настроек плагину нет необходимости загружать движок. Таким образом плагин загружается до вордпресса и оптимизирует различные процессы. К слову весь конфиг плагина хранится в одном файле, который легко переносить между сайтами. Таким образом, настроив плагин один раз, перенести его настройки на другой сайт очень просто.

Следующее, что я сделал для оптимизации это кэширование запросов в БД. Это помогло снизить нагрузку на базу данных примерно в 1,5-2 раза, а так же уменьшить потребление памяти и снизить нагрузку на процессор. Что опять же позволило увеличить скорость загрузки сайта и, что немаловажно, снять нагрузку с БД. Когда просыпаешься с утра и видишь, что 50 твоих сайтов не доступны, потому что база данных лежит... Или, если говорить о хостинге, то он просто автоматически отключит ваш сайт и предложит поменять тариф на более дорогой, если ваш сайт превысит нагрузку на БД... Думаю о необходимости кэширования запросов к БД я сказал достаточно.

Следующим этапом я начал реализовывать функционал других плагинов, которыми я пользовался. Это все, что касается SEO, очистки кода, отключения ненужного функционала, увеличения скорости загрузки и т.д.

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

Во-первых, большинство бесплатных плагинов для WordPress написаны для такого же штатного режима использования, для создания среднестатистических блогов, на который рассчитан и сам движок. Подобные плагины тестируются на одном сайте, в одиночестве, где и нагрузка видна меньше да и не рассматривается как критичный фактор. Мой плагин тестируется одновременно на тысячах сайтов и эти сайты размещаются на VDS серверах по 50 шт, там, где обычный WordPress потянул бы максимум 10 сайтов при той же посещаемости. Можно сказать, что он тестируется в экстремальных условиях.

Во-вторых, большинство плагинов не стесняются хранить свои многочисленные настройки в базе данных. Каждое очередное считывание такой настройки это очередной запрос к БД.

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

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

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

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

d-wp снимает нагрузку с сервера и что не менее важно, а возможно даже и более, заставляет загружаться сайт практически моментально. Возможно вы слышали о том, как крупные интернет магазины сокращали время загрузки страниц на одну секунду и прибыли вырастали многократно? Это происходит потому, что пользователь быстрее видит контент, а не закрывает сайт не дождавшись загрузки, на что и поисковики реагируют соответствующим образом, ведь хороший поведенческий фактор является хорошим сигналом на который они дают еще больше трафика. Это ведь в крайней степени логично. Когда цель поисковой системы максимально быстро предоставлять информацию, разве в таком случае она будет отдавать предпочтение медленным сайтам? И этим никак нельзя пренебрегать.

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