Kuten totesin muissa artikkeleissa, WooCommerce on vankka ja joustavampi moduuli, joka pystyy muuttamaan WordPressin Ihanteellinen verkkokauppa yritykselle alussa.
sisältö
Wocommerce voidaan rullata a: n vaatimattoman kokoisen verkkokaupan kohdalla “jaettu isännöinti”, kyky kestää kevyesti ja 5000 tuotetta / 100 tilausta ajan tasalla, jos käytetty aihe ei kuluta monia resursseja eivätkä väärinkäytä muita moduuleja (laajennuksia).
Lähdekoodin optimointi Teemasta (WP -teemat), moduulit (WP -laajennukset) ja Tietokannan optimointi On myös kaksi näkökohtaa, jotka meidän on otettava paljon.
Huomasin edelliset päivät vaatimattomien ulottuvuuksien verkkokaupana alkaa Kuluttaa paljon monia RAM- ja CPU -resursseja erillisellä palvelimella antelias. Tämä suuri resurssien kulutus on johtanut laiminlyöntiin “ladata” Lisääntynyt palvelimella ja iso aika lataamaan iltakaupan sivut.
Kun huomataan perusteeton suuri kuorma verkkopalvelimelle, on hyvä tutkia syitä ennen mitoitusta.
Tietokannassa huomasin, että taulukko “wp_woocommerce_sessions
” Se on valtava. Se oli yli 6 Gt. Tietokannan taulukon valtava tilavuus, joka ei yleensä ylittänyt yhteensä 100 Mt.

Tämä este wp_woocommerce_ssionals?
Kuten voimme tuntea hänen nimestään, taulukko “wp_woocommerce_sessions
” Sisältää PHP -istuntoja (PHP -istunnot).
Nämä istunnot ovat sivuston (tai verkkrobotien) käyttäjien toimia ja useimmiten saavuttavat tietokannan evästeiden kautta. WP_WOOCOMMERCE_SESSIONS -tiedostoissa tallennetaan tietoja käyttäjien sijoittamiin tuotteisiin ostoskoriin, kuponkeihin, kuljetusmaksuihin, asiakastietoihin ja moniin muihin tuotteiden tilausprosessiin liittyvät tiedot.
Nämä istunnot luodaan, vaikka käyttäjä on rekisteröity sivustoon, ja yleensä niiden on vanhentu ja poistettava automaattisesti.
Valitettavasti ei aina tapahdu, että nämä istunnot poistetaan ja joissain tapauksissa ne pysyvät pysyvästi tallennettuna WP_WOOCommerce_Sessions -ohjelmaan, mikä tekee taulukosta suuren määrän.
Kuinka pyyhkiä pöytä wp_woocommerce_sessions
Din SQL?
1. Menemme Kojelauta → Viipalo → Status → Työkalut (TAB).
2. Menemme vaihtoehtoon “Selkeät asiakasistunnot“. Varovainen! Asiakkaiden istuntojen poistamiseen sisältyy kaikkien niiden sijoittamien tuotteiden poistaminen ostoskoriin. Jos näiden istuntojen poistaminen on asiakkaita, joilla on tuotteita korissa, ne katoavat, ja lopullista tilausta ei saa päätökseen.
3. Napsauta “Selkeä” ja vahvistaminen operaatio.

Tällä hetkellä pöytä “wp_woocommerce_sessions” Se on tyhjä, joten kaikki asiakasostokset on poistettu.
Ongelmaa ei ratkaista ylivoimaisesti. SQL WP_WOOCommerce_Sessions -taulukko kerää siihen tietoja ja oletuksena se saa uudelleen mittasuhteita, mikä ei ole toivottavaa.
Kuinka teemme asiakasistunnot pysyvästi WooCommerce – wp_woocommerce_sessions
?
Osoitin yllä, kuinka taulukko voidaan tyhjentää “wp_woocommerce_sessions” Tietokannasta, mutta ongelma ilmestyy jälleen muutaman päivän kuluttua, kun asiakasistunnot kerätään.
Ennen WooCommerce 2.5: n asiakasistuntoja vangittiin evästeiden kautta ja tallennettiin sitten WordPress -taulukkoon “wp_options
“.
Suurempien kauppojen osalta tämä menetelmä on usein johtanut katastrofeihin. “wp_options” On tärkeä WordPress -taulukko, jota yleiset vaihtoehdot ja asetukset käyttävät. Manuaalinen tunnistaminen ja asiakasistunnot, jotka on tallennettu wp_options
Se ei ollut helppoa työtä.
WooCommerce -suorituskyky ei ollut paras, ja skaalautuvuus ajan myötä oli herkkä kohta.
WooCommerce 2.5: n käynnistämisen myötä vuonna 2015 WooCommerce -kehittäjät ovat ottaneet käyttöön uuden WooCommerce -pohjaisen käsittely- ja tallennusjärjestelmän WP Sessions Manager. Tämä järjestelmä on johtanut ulkonäköön wp_woocommerce_sessions
. Omistettu taulukko asiakasistunnoille, jotka tietokannassa ei ole vuorovaikutuksessa muiden taulukoiden kanssa. Suurten virheiden tapauksessa tappioiden tulisi olla minimaalisia.
Huomasin, että ennen WooCommerce 2.5: n julkaistut verkkokaupat käynnistettiin ja jotka ovat saaneet jatkuvia päivityksiä ajan myötä, ja niissä on joitain ongelmia asiakasistuntojen automaattisesta poistosta. Se on todennäköisimmin WooCommerce 2.5: n uudempi versio tai WordPress / WooCommerce -laajennus, joka ei ole pysynyt päivitysten kanssa.
Minun tapauksessani se oli ristiriita tiedostoon lisätyn toiminnon kanssa functions.php
ja mikä Estä automaattinen deleetio vanhentuneiden istuntojen jälkeen woocommerce_sessions
.
Jos sinulla on tällainen ongelma, sinun on tutkittava huolellisesti kaikki mahdolliset syyt. SQL -virhe, SQL -vainot, CRON -työ, ristiriidat muiden laajennusten kanssa ja viimeisenä, mutta ei vähäisimpänä tarkista koodin muutokset ajan myötä.
Näin, että WooCommerce tarjoaa vain 29 dollaria laajennukselle, joka pystyy hallitsemaan asiakasta. “Selkeä kärry ja istunnot WooCommerce“. Tietysti istuntojen ohjelmoidun deleetion lisäksi moduulilla on useita työkaluja, joista voi olla hyötyä.
Yksinkertaisempi vaihtoehto Ohjelmoitu deleetio a “woocommerce_sessions
” yhden päivän välein, on siirtymä seuraavalla koodilla 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();
}
Jätä kommentti, jos tarvitset apua tai sinulla on toinen ratkaisu.
Minulla ei ole mitään keinoa poistaa data painaa 500 Mt ja minulla on 1000 Mt: n raja potkun minuuttiin, kaikki on täysin täytetty…Jonkin verran ratkaisua?