Intereting Posts
Загрузка файла wordpress с помощью ajax, когда сайт является ajaxyfi добавьте комментарии GD Star Rating's к комментариям приятеля Включить комментарии к пользовательским типам сообщений в теме каталога Почему я заблокирован из системы? Пользовательский тип сообщения с шаблонами с использованием метабоксов? динамическое имя стиля для wp_enqueue_style Добавить галерею изображений в пользовательский тип сообщения? the_post_thumbnail ('my_image_size') всегда выводит полное изображение Как писать иврит? Поле заполнения пользователя Настроить отдельные части списка – Список категорий Плагин сообщений Как установить тег заголовка страницы в настраиваемом шаблоне для нестандартного типа сообщения? Плагин. Убедитесь, что jquery загружен на моей странице настроек плюс мой JS-файл. Два запроса – один с флажком, отмеченный галочкой, один без сравнения meta_query Обработка загрузки файлов переднего плана с учетом безопасности и простоты использования

Это тяжелые плагины или множество плагинов, которые делают сайт медленным?

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

Мне интересно, в основном ли медлительность:

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

Solutions Collecting From Web of "Это тяжелые плагины или множество плагинов, которые делают сайт медленным?"

Общие положения

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

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

Я предполагаю, что единственная правда, что « много плагинов замедляет работу сайта », заключается в том, что когда у вас много плагинов, скорее всего, вы поймете плохое.

конкретика

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

В зависимости от того, какие перехватчики использует плагин, он может быть вызван только на определенных страницах, в « фоновом режиме » или даже почти никогда. Некоторые перехватчики работают только в консоли администратора. Некоторые перехватчики работают только на определенных страницах консоли администратора. И некоторые крючки вызываются внутренней системой psuedo-cron . OTOH, некоторые плагины могут загружать дополнительные файлы CSS или JS, и каждый из этих файлов замедляет производительность из-за правила производительности сети # 1 .

Если вы хотите понять, какие крючки вызываются на каждой странице, подумайте о том, как использовать плагин « Инструментальные крючки для WordPress », я написал для вопроса « Где я могу найти список крючков WordPress? » Вот скриншот того, что плагин показывает в нижнем колонтитуле при использовании:

Скриншот инструментальных крючков для плагина WordPress в действии

Но просто знание крючков не поможет вам точно знать, есть ли проблема с плагином. Вы можете вызвать плагин 100 раз, и вызов его может быть незначительным по сравнению с другим вызовом на крючок, который добавляет предложение WHERE к SQL-запросу, которое может привести к сбою сайта с более чем несколькимистами сообщений. Или он может выполнить HTTP-вызов на другой сервер. Или он может очистить правила перезаписи при каждой загрузке страницы. Список грехов продолжается.

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

Ваши собственные плагины

Не беспокойтесь о том, как код организован для целей производительности ; беспокоиться о том, что делает ваш код. Оптимизация часто выполняемой покупки SQL-запросов с использованием API Transient (см.: Презентация о Transient API ) будет намного лучше для производительности, чем слияние кода из 10 плагинов в один.

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

Длинный список плагинов

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

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

Длинный список вариантов рейтинга GD Star

Во всяком случае, надеюсь, что это поможет.

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

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

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

(Pre-Mature) Оптимизация – это корень всего зла. Просто не думайте о производительности при написании плагинов. Возьмите его светлым и ярким способом: WordPress не рассчитан на производительность, в конце концов, не делайте ошибку и пытайтесь написать для нее плагины для исполнения;)

WordPress спроектирован с использованием шаблона Big Ball of Mud- (anti-) . Плагиновая система – это система, которая очень хорошо работает с ней. Просто не думайте, что вы можете так оптимизировать, как автор плагина. Вы не можете. Не бойся 🙂

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

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

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

Вы смотрите на 2 вещи, которые замедлят ваш сайт: 1, обработка из файлов на сервер (ы), ваш php и 2, способ чтения кода.

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

rFair404 упомянул программы кэширования, которые помогут с запросами сервера, а некоторые сжимают html-код, и это напоминает мне, мне нужно сжать некоторые страницы css.

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

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

Возможно, вы не заметите это на общем хостинге с просмотрами страниц 2-3 тыс. В день, но если у вас есть сайт с активными пользователями 3k, каждый из которых каждый раз запрашивает 10 страниц, это может стать проблемой.

Я бы сказал, что ответ таков .


Больше плагинов = более медленная

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

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

Слияние файлов

Если вы запустите сайт WordPress, вы обязаны сделать это самостоятельно, чтобы узнать, как:

  • Правильно объединить файлы javascript
  • Правильно объединить файлы стилей
  • Перемещение javascript-вызовов из заголовка в нижний колонтитул

Если вы запустите сайт wordpress, и вы не можете делать вышеуказанные вещи, тогда вам не следует запускать сайт WordPress … или, по крайней мере, вы не должны жаловаться, когда ваш сайт замедляется, когда вы загружаете больше плагинов.

Кроме того, любой, кто работает на сайте wordpress, должен знать, как:

  • Минимизировать файлы CSS и javascript
  • Включить сжатие сервера
  • Удостоверьтесь, что заголовки заканчиваются с помощью скриптов и таблиц стилей

Плохо написанные плагины = более медленная

Основные способы для плагинов-авторов действительно замедлить работу вашего сайта:

  1. Загрузка нескольких сценариев или таблиц стилей для одной страницы – см. Выше
  2. Использование базы данных ненадлежащим образом – плохо написанные запросы, модификации запросов и т. Д. Могут оказать серьезное влияние на веб-сайт. Невозможность кэширования результатов, где это возможно, также может замедлить работу. Большинство людей сосать в разработке и администрировании базы данных. Когда такие люди используют базы данных, возникают проблемы.
  3. Использование wp cron неправильно – постоянные задания cron для каждого пользовательского запроса приведут сервер к коленям.

Коротко писать очень плохой код (полубесконечные петли, тонны регулярных выражений, если это не необходимо, и т. Д.), Большинство вещей не будет иметь большого эффекта, если учесть, насколько большой WordPress уже есть. Добавление 1% дополнительного времени обработки немного.


Задачи, которые врожденно медленны

Есть некоторые вещи, которые просто медленно, независимо от того, насколько хорошо написаны:

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

Конечно, когда все сделано правильно (кэшированные результаты, как в случае фоновых процессов и т. Д.), Многие сторонние службы могут использоваться без особых проблем.