Разработка версии BuddyPress 2.0, которая должна появиться примерно в середине апреля, официально началась несколько недель назад. Этот релиз будет включать в себя великолепные новые особенности, среди которых можно упомянуть возможность редактирования профилей BuddyPress в панели администратора WordPress. Заметные изменения коснутся и «начинки» плагина, которые позволят BuddyPress лучше масштабироваться в будущем.
Вынос пользовательских данных last_activity за пределы таблицы wp_usermeta некоторое время присутствовал в технологической дорожной карте BuddyPress, однако не совсем понятно, что это означает и на что это повлияет. Давайте попытаемся разобраться.
Данные last_activity – это то, что вы видите в пользовательских профилях:
Эти данные используются в BuddyPress, чтобы сортировать результаты и определять, является ли пользователь членом сайта. В обновлении, которое было проведено на прошлой неделе, разработчик ядра BuddyPress Бун Джорджс объяснил, почему эта проблема стала так называемым «многолетним затором в производительности».
«Вся информация о пользователях хранилась в wp_usermeta. Эта таблица чрезмерно разбухала на крупных сайтах, и не индексировала должным образом все типы запросов ORDER BY, которые мы применяли к ней».
Джорджс выпустил фикс, который позволил справиться с проблемой. BuddyPress 2.0 теперь будет хранить все данные last_activity пользователей в отдельной строке в таблице wp_bp_activity, даже если на сайте будет отключен компонент Activity. «Рост производительности очень высокий», отметил Джорджс, и пообещал опубликовать сравнительные тесты в процессе разработки BuddyPress 2.0.
После применения первого патча для решения стоящей проблемы, Джорджс решил раскрыть несколько предварительных метрик, которые помогут вам дать общее представление о росте производительности в этом релизе:
«В целом, время выполнения основного запроса снизилось с 57ms до .3ms. Улучшение станет более заметно на крупных сайтах, особенно на тех из них, где таблица usermeta забита массой всякого хлама от разных плагинов».
Данные Last_activity будут зеркально отображаться в старой и новой локациях, чтобы обеспечить обратную совместимость с плагинами. Однако авторам плагинов рекомендуется обновить свои расширения, чтобы получать данные через BuddyPress API-функции вместо старого метода. Джорджс предлагает примеры такой реализации в своем обновлении, а также перечисляет некоторые плагины из хранилища WordPress, которые должны быть обновлены.
Разработчики плагинов, которые хотят использовать в своих интересах улучшения производительности, могут подготовить обновленную версию своих решений – время на это есть.
Источник: wptavern.com
Отличная новость.