Оптимизация плагина
-
Добрый день!
Хочу написать вам большое спасибо за такой отличный плагин и поднять важный вопрос оптимизации.
В данный момент ваш плагин хранит данные о продукте в индивидуальном мета поле таблицы wp_postmeta. При этом плагин хранит даже дефолтные и пустые значения мета полей! На один продукт приходится 29 (!) полей.
В нашем магазине сейчас порядка 6000 товаров. И общий размер таблицы wp_metadata – 295000 записей (без вашего плагина). При установке вышего плагина он добавляет дополнительно 6000 * 29 = 174000 записи в эту таблицу.
При этом на сайтах с Woocommerce таблица wp_metadata самая большая и загруженная. Т.к. в ней хранятся все данные о товарах. А ваш плагин один увеличивает её размер на 60%. Это просто гигантское значение, которое существенно замедляет скорость работы сайта и отзывчивость базы данных. При этом все данные которые использует плагин не нужны “на лету”, а обрабатываются на фоне.
В связи с этим у меня несколько предложений.
- Не хранить данные в wp_postmeta
- Хранить данные в wp_postmeta но объеденить их в одно мета поле, можно хранить значение всех полей как единый архив.
Зачем вообще хранить пустые или дефолтные значения? В них же нет никакого смысла. Эти записи только забивают базу. Даже если пользователь не изменил ни одного значения на странице продукта, ваш плагин все равно сохраняет все 29 метаполей на продукт в базу. Их же можно подставлять на лету из какого-нибудь списка дефолтных значений, если get_post_meta == “” .
Получается ваш плагин нужен большим интернет-магазинам. Но именно они больше всего страдают после его установки из-за замедления скорости работы и захломления базы данных. Причем чем больше магазин будет добавлять продуктов, тем хуже будет ситуация.
Я считаю что вам нужно пересмотреть свой подход к хранению полей в БД. Плагин создающий фид продуктов фоне, не должен вообще влиять на производительность сайта.
- The topic ‘Оптимизация плагина’ is closed to new replies.