Как я уже говорил в других статьях, WooCommerce - более надежный и гибкий модуль, способный превратить WordPress в Идеальный интернет -магазин для бизнеса в началеПолем
содержание
Для интернет -магазина скромного размера, WoCommerce может быть прокат на “Общий хостинг”Возможность выдержать слегка и 5000 продуктов / 100 заказов в актуальность, если используемая тема не потребляет много ресурсов и не злоупотребляет другими модулями (плагинами).
Оптимизация исходного кода Из темы (темы WP), модули (плагины WP) и Оптимизация базы данных Есть также два аспекта, которые мы должны взять много.
Я заметил предыдущие дни, когда начинается интернет -магазин скромных измерений Чтобы потреблять многие ресурсы ОЗУ и ЦП на выделенном сервере щедрый. Это высокое потребление ресурсов привело к дефолту к “нагрузка” Увеличилось на сервере и большое время для зарядки страниц вечернего магазина.
Когда мы замечаем неоправданную большую нагрузку на веб -сервер, полезно исследовать причины, прежде чем принять какую -либо меру.
В базе данных я заметил, что таблица “wp_woocommerce_sessions
” Это огромно. Это было более 6 ГБ. Огромный объем для таблицы из базы данных, которая обычно не превышала 100 МБ в общей сложности.

Это este wp_woocommerce_ssionals?
Как мы можем ощущать от его имени, таблица “wp_woocommerce_sessions
” Содержит сеансы PHP (PHP сеансы)
Эти сеансы являются действиями пользователей на сайте (или веб -роботов) и чаще всего достигают базы данных через файлы cookie. В WP_WOOCOMMERCE_SESSIONS хранятся данные о продуктах, размещенных пользователями в корзине, купонах, транспортных сборах, данных о клиентах и многих другой информации, связанной с процессом заказа продукта.
Эти сеансы создаются даже независимо от того, зарегистрирован ли пользователь на сайте, и обычно он должен истекать и удалять автоматически.
К сожалению, не всегда случается, что эти сеансы удаляются, и в некоторых случаях они остаются навсегда хранящимися в WP_WOOCOMMERCE_SESSIONS, что заставляет таблицу достигать большого объема.
Как стереть стол wp_woocommerce_sessions
Din SQL?
1. Мы идем в Приборная панель → Woocommerce → Статус → Инструменты (вкладка).
2. Мы идем к варианту “Чистые сессии клиентов“Полем Осторожный! Удаление сессий клиентов включает в себя удаление всех продуктов, размещенных ими в корзине. Если при удалении этих сессий будут клиенты, у которых есть продукты в корзине, они исчезнут, и возможный заказ не будет завершен.
3. Нажмите “Прозрачный” и подтверждение операции.

В это время стол “wp_woocommerce_sessions” Это пусто, поэтому все сессии покупок клиентов были удалены.
Проблема не решается на сегодняшний день. Таблица SQL WP_WOOCOMMERCE_SESSIONS будет собирать данные в нем, и по умолчанию она снова получит пропорции, что нежелательно.
Как мы делаем сессии клиента навсегда останавливаться в WooCommerce – wp_woocommerce_sessions
?
Я показал выше, как таблица может быть опустошена “wp_woocommerce_sessions” Из базы данных, но проблема появится снова через несколько дней, когда будут собраны сеансы клиента.
Перед Woocommerce 2.5 сеансы клиентов были захвачены через файлы cookie, а затем сохранились в таблице WordPress “wp_options
“Полем
Для более крупных магазинов этот метод часто приводил к бедствиям. “wp_options” Быть жизненно важной таблицей WordPress, используемой общими параметрами и настройками. Ручная идентификация и удаление сеансов клиентов, хранящихся в wp_options
Это была нелегкая работа.
Производительность WooCommerce была не лучшей, и масштабируемость с течением времени была чувствительной точкой.
С запуском WooCommerce 2.5 в 2015 году разработчики WooCommerce представили новую систему обработки и хранения на основе WooCommerce WP Sessions ManagerПолем Эта система привела к появлению wp_woocommerce_sessions
Полем Выделенная таблица для сессий клиента, которая в базе данных не взаимодействует с другими таблицами. В случае серьезных ошибок потери должны быть минимальными.
Из того, что я заметил, онлайн -магазины, запустившиеся до WooCommerce 2.5 и которые с течением времени получали постоянные обновления, имеют некоторые проблемы, связанные с автоматическим удалением сессий клиента. Скорее всего, речь идет о более новой версии WooCommerce 2.5 или плагине WordPress / WooCommerce, который не следил за обновлениями.
В моем случае это был конфликт с функцией, добавленной в файл functions.php
о теме, и которая предотвратить автоматическое удаление после истечения сеансов woocommerce_sessions
Полем
Если вы испытываете такую проблему, вы должны тщательно исследовать все возможные причины. Ошибка SQL, преследования SQL, задание Cron, конфликт с другими плагинами и, как не менее важное, проверяют ваши изменения в коде с течением времени.
Я видел, что WooCommerce предлагает всего 29 долларов за плагин, способный администрировать клиентов. “Чистая корзина и сеансы для Woocommerce“Полем Конечно, помимо запрограммированного удаления сеансов, у модуля есть несколько инструментов, которые могут быть полезными.
Более простой вариант запрограммированное удаление а “woocommerce_sessions
” через однодневные интервалы, является перемещением со следующим кодом в functions.php
:
// clean cart every day
if (!wp_next_scheduled('cron_wc_clean_cart')) {
wp_schedule_event( time(), 'daily', 'cron_wc_clean_cart' );
}
add_action ( 'cron_wc_clean_cart', 'wc_clean_session_cart' );
function wc_clean_session_cart() {
global $wpdb;
$wpdb->query( "TRUNCATE {$wpdb->prefix}woocommerce_sessions" );
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key='_woocommerce_persistent_cart_" . get_current_blog_id() . "';" );
wp_cache_flush();
}
Оставьте комментарий, если вам нужна помощь или у вас есть другое решение.
У меня нет возможности стереть данные весом 500 МБ, и у меня есть предел 1000 МБ до минуты стереть все полностью заполнено…Какое -то решение?