11 эффективных способов масштабирования вашего сайта WordPress для высокой посещаемости

Опубликовано: 2020-02-08

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

8-преимуществ-использования-wordpress

  1. WordPress не обрабатывает трафик. Хосты (хостинговые компании) делают!

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

  • Во-первых, убедитесь, что ваш провайдер без труда поддерживает последние версии WordPress.
  • Во-вторых, проверьте, позволят ли они вам превысить ограничение (ограничение скорости передачи и пропускной способности вашего сайта, когда вы начнете получать намного больше трафика).
  • В то время как общий веб-хостинг может быть полезен при запуске проекта с низким трафиком, как только вы начнете, вам нужно будет перейти на виртуальный частный сервер (VPS). У вашего провайдера должны быть условия для VPS.
  • Вертикальное масштабирование должно быть разрешено с многоуровневыми планами, чтобы клиенты могли легко обновляться по мере изменения потребностей. Масштабирование ресурсов для повышения производительности в основном может быть достигнуто за счет вертикального масштабирования. По сути, за счет увеличения размера виртуальной машины, на которой работает ваш сайт WordPress.
  • Проверьте, доступно ли горизонтальное масштабирование, поскольку оно разделяет ваш сайт на несколько слоев. Например, разделение внешнего сервера, сервера базы данных, уровня прокси и уровня изображения, что упрощает масштабирование ресурсов.
список критических областей

Совет: по возможности избегайте развертывания cPanel/WHM (WebHost Manager) на высокопроизводительном сервере WordPress, так как это может замедлить работу вашего веб-сайта с высокой посещаемостью.  

  1. Использование Elasticsearch на вашем сайте

В частности, MySQL и MariaDB не славятся своими поисковыми возможностями. Они также не были созданы с учетом этой силы, и это одна из причин, по которой команда WordPress не может улучшить логику поиска. ElasticSearch, написанный на Java, представляет собой распределенную, быструю поисковую систему RESTful, предназначенную для поиска и аналитики. Тем не менее, Elasticsearch можно использовать для ускорения запросов к базе данных WordPress. В частности, создав индекс содержимого базы данных вашего сайта, ElasticSearch можно использовать для поиска по этому индексу намного быстрее, чем запрос MySQL, при выполнении того же поиска. Elasticsearch также можно интегрировать, установив плагин ElasticPress для генерации результатов запроса с помощью Elasticsearch, а не MySQL. Это может повысить производительность и настроить вас лучше для обработки большого трафика.

  1. Меньше графики и больше оптимизированного мультимедиа

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

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

Подробнее : Советы по повышению скорости веб-сайта WordPress

  1. Меньше плагинов

Кажется, наша тема до сих пор «меньше значит больше». Но не волнуйтесь, у нас еще есть несколько отличных советов! В идеале плагины WordPress — это файлы, которые «вызываются» вашей установленной темой WordPress. Плагины могут легко расширить функциональность или добавить новую функцию в веб-систему. Но плохо закодированный плагин часто загружает слишком много наворотов, даже когда это не нужно.

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

  • Удалить неиспользуемые плагины
  • Отключите плагины, которые вам не нужны.
  • Используйте необходимые плагины. Избегайте ненужных или экспериментальных.
  • Периодически проверяйте свои плагины, чтобы оценить их размер, качество и т. д.

Подробнее : Безопасно ли использовать плагины WordPress?

  1. Использование сети доставки контента

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

Подробнее: Перенесите свой сайт WordPress на облачную платформу

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

  • Скорость сайта увеличивается — загружается быстрее.
  • Позволяет обрабатывать больше трафика, поскольку нагрузка распределяется между вашим хостинг-провайдером и платформой CDN.
  • CDN помогает сэкономить трафик на вашем сайте.
  • CDN помогает защитить ваш веб-сайт от атак типа «отказ в обслуживании» (DDOS), поскольку несколько запросов будут совместно использоваться несколькими серверами.

Самая популярная «бесплатная» альтернатива CDN — это Cloudfare, которую вы можете использовать на своем сайте WP. Cloudflare Free CDN хорош благодаря следующим преимуществам:

  • Нет платы за пропускную способность: в отличие от большинства сервисов CDN, Cloudflare не взимает плату за трафик. Большинство CDN могут взимать плату за удаление кэшированного контента из их CDN.
  • Глобальное покрытие: имея более 100+ центров обработки данных по всему миру, Cloudfare работает в нескольких точках обмена, поэтому всегда рядом с вашими клиентами.
  • Безопасность: они считаются организацией безопасности, а их «CDN» по сути является распределенным обратным прокси. Таким образом, добавьте профессионалов безопасности в их меню.
2 способа использования CDN с WordPress
  1. Рассмотрите возможность использования веб-уровня без сохранения состояния

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

  1. Кэширование и оптимизация базы данных

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

База данных будет иметь гораздо больше информации после ее использования в течение некоторого времени, которая вам больше не нужна. Это снизит производительность и эффективность системы. Ревизии являются одной из причин, приводящих к созданию ненужной информации в базе данных. Редакции — это функция WordPress, которая позволяет автоматически сохранять версии ваших страниц, сообщений или пользовательских типов сообщений. По умолчанию он автоматически сохраняет вашу работу каждые 60 секунд. Можно управлять этими интервалами автосохранения, определив «WP_POST_REVISIONS» в файле «wp-config.php». Вы можете сохранять ревизии каждые 30 секунд, 2 минуты или по вашему требованию. Ревизии также можно полностью отключить. Также вы должны знать, что отключение ревизий не улучшает работу сайта.

Чтобы избавиться от всех таких ненужных данных, вам необходимо оптимизировать базу данных. WordPress в основном использует базы данных MariaDB или MySQL. Таким образом, либо оптимизировав настройки MySQL/MariaDB, либо предоставив больше памяти и вычислительной мощности, может помочь перегруженный сервер. Кроме того, в WordPress доступны различные плагины, которые позволяют очищать базу данных. Плагины помогут вам удалить неиспользуемые теги, ревизии, отправленные в корзину сообщения и т. д. и оптимизировать вашу базу данных.

  1. Использование правильных плагинов кэширования  

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

  • Обновление доступности
  • Сеть доставки контента и интеграция SSL
  • Возможности кэширования страниц
  • Сильные стороны кэширования базы данных

Ваш плагин кэширования должен предлагать интеграцию с CDN, хотя я лично рекомендую плагин кэширования W3TC.

  1. Обеспечение безопасности сайта

Безопасность влияет на масштабирование сайта WordPress, поскольку высокий трафик подразумевает больше потенциальных угроз, которых следует опасаться. Таким образом, профессиональные плагины безопасности могут защитить ваш сайт от вредоносных программ, SQL-инъекций, спама, DDoS-атак и т. д., просто предлагая следующее:

  • Активный мониторинг безопасности
  • Защита от грубой силы
  • Сканирование вредоносных программ
  • Мониторинг и управление безопасностью (особенно для DDoS),
  • Мониторинг черного списка
  • Усиление безопасности и действия после взлома
  • Брандмауэры

Кроме того, вы можете взять личные непредвиденные расходы, такие как:

  • Усиление ваших паролей wp-admin с помощью двухфакторной аутентификации
  • Ограничьте количество попыток входа на свой сайт
  • применение антивируса к вашей сети Используйте SFTP вместо FTP
  • Скрыть файлы wp-config.php и .htaccess
  • Используйте виртуальную частную сеть VPN, когда не используете сеть, которой вы управляете.
  • Используйте виртуальный частный сервер VPS, чтобы иметь больший контроль над вашей серверной средой.
  1. Используйте кэширование байт-кода

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

  1. Применение методов балансировки нагрузки

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

  • Он эффективно распределяет сетевую нагрузку или клиентские запросы между несколькими серверами.
  • Он обеспечивает высокую надежность и доступность, отправляя запросы только на онлайн-серверы.
  • Это обеспечивает гибкость добавления или вычитания серверов в соответствии с требованиями.
алгоритмы балансировки нагрузки

Чтобы продемонстрировать балансировку нагрузки, мы можем использовать пример wordpress.com (не wordpress.org), который фактически представляет собой одну мультисайтовую установку WordPress, работающую на тысячах серверов в нескольких центрах обработки данных. В частности, WordPress.com как конструктор сайтов размещает несколько сайтов через свою HyperDB.   балансировать нагрузку и распределять свои миллионы таблиц по отдельным экземплярам базы данных, все они связаны с центральной базой данных. Вот почему сайты wordpress.com могут легко справляться с большим трафиком, поскольку они распределяют запросы конечных пользователей на несколько узлов веб-сервера, по сути, балансируя нагрузку.

Может ли самостоятельный сайт WordPress обрабатывать 100 тысяч одновременных посетителей?

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

  • балансировки нагрузки
  • Репликация MySQL
  • Разгрузка статического контента
  • Эластичность вашей серверной архитектуры.
  • Авторитетный CDN-провайдер
  • Эффективная система управления комментариями, такая как Disqus
  • Максимальная эффективность кэширования
  • Используйте эластичное облачное развертывание
  • Часто используйте инструменты аналитики и отслеживания, такие как WordPress Stats и Google Analytics.
  • Используйте высокопроизводительный HTTP- сервер, такой как NGINX .

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

Вывод

В заключение, оптимизированные медиа, сценарии и кэширование не помогут, если ваш сервер медленный, перегруженный, общий или неправильно настроенный. Итак, я бы рекомендовал вам использовать сервер NGINX, так как он более ориентирован на производительность. Кроме того, обязательно используйте кеши CDN, и если вы можете, вам следует использовать Cloudflare для дополнительного повышения производительности, поскольку это уменьшит использование ресурсов на вашем сервере, например пропускную способность. Примечательные упоминания включают регулярное обновление вашей версии WP и темы. Для получения любой дополнительной информации и запросов, не стесняйтесь обращаться к нам.