Profiling WordPress Sites: материалы митапа

2 марта прошёл митап латвийской WordPress группы, темой которого стало профилирование сайтов на WordPress (Profiling WordPress Sites). В ходе доклада были освещены вопросы профилирования тяжёлых WordPress сайтов. Наш докладчик (@kagg-design) провёл анализ применимости плагина Query Monitor и профилировщиков, включая Blackfire. Приведены реальные примеры оптимизации сайтов, включая как оптимизацию числа запросов к базе, так и оптимизацию использования процессорного времени. Материалы митапа доступны для скачивания по ссылкам ниже.

Первый рассмотренный пример был основан на примере сайта, где возникало 3,700 запросов в базу при использовании плагинов WooCommerce, WOOF, WOOF by Category. Даны пояснения, как была проведена оптимизация плагина WOOF с использованием transients.

Profiling WordPress Sites with Blackfire

Второй пример показал ошибку разработчика, где вследствие невнимательности была оставлена строка, производившая 3,200 запросов в базу. Результат выполнения этой строки более нигде не использовался. Сделаны выводы о произошедшем и показано, что скорее всего, проблема возникла из-за использования устаревших средств разработки вроде Notepad++. Используйте современные IDE, например, PhpStorm или VSCode, и вам удастся избежать многих тяжёлых ошибок!

Третий пример показал оптимизацию чисто по процессорному времени. Такой анализ доступен только с использованием специальных средств профилирования типа Blackfire. Оптимизация уменьшила использование процессора в 330 раз (с 2 мин 40 сек до 0.44 сек).

В заключение сделаны выводы о применимости плагина Query Monitor и профилировщика Blackfire и даны рекомендации по их использованию.

Profiling WordPress Sites как первый митап серии

Митап Profiling WordPress Sites носил технический характер и был рассчитан на продвинутых разработчиков. Тем не менее, он вызвал значительный интерес — зарегистрировалось 77 участников. Мы планируем провести серию митапов такого плана в латвийской митап-группе WordPress. Примерный план на настощий момент выглядит так.

  1. Debugging in WordPress (debug.log, xDebug)
  2. Testing code with PHPUnit
  3. Object caching practices
  4. Best-practices with 3rd-party APIs, including security
  5. Background processes, usage and debugging
  6. Profiling and subsequent optimization in examples
  7. Mutation testing
  8. Gutenberg by a developer’s eyes — the creation of blocks, debugging
  9. Backward compatibility in WordPress
  10. WPCS and PhpStorm settings

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

Скачать презентацию можно здесь. Запись митапа доступна ниже

Источник: KAGG

Игорь Гергель

Единственный обладатель значков золотой WordPress и бронзовый WooCommerce на StackOverflow RU. WordPress Core contributor. Работал ведущим девелопером в команде WPML.

%d такие блоггеры, как: