Les files de sessió són normals: conserven carretons de convidats i caduquen. El problema comença quan se’n creen moltes més de les que s’eliminen, els bots generen carretons massivament o l’estat de la taula i els índexs encareix cada consulta.
No buidis la taula en producció. Perdries carretons actius i amagaries el ritme de creixement sense corregir-ne la causa.
Mesura el volum i la tendència
Fes una còpia de seguretat i consulta el nombre de files i les dates de caducitat amb el prefix real de WordPress.
SELECT COUNT(*) AS session_rows,
MIN(session_expiry) AS oldest_expiry,
MAX(session_expiry) AS newest_expiry
FROM wp_woocommerce_sessions;
Utilitza un compte autoritzat de només lectura. No copiïs els valors serialitzats, perquè poden contenir informació del client.
Repeteix la mesura al cap d’un interval i relaciona-la amb visites, peticions d’afegir al carretó i campanyes. Si les files pugen durant una promoció i després baixen, la neteja probablement funciona. Si augmenten durant dies, cal revisar el planificador. Comprova també l’espai real al disc: eliminar registres no sempre redueix immediatament el fitxer de la taula.
Confirma la neteja programada
Revisa WooCommerce > Estat > Accions programades i busca tasques endarrerides o fallides. Comprova també WP-Cron.
Un lloc amb poc trànsit i WP-Cron desactivat necessita un cron real ben configurat. En una botiga gran, l’endarreriment pot provenir d’errors fatals, bloquejos o pocs processos disponibles.
Repara el planificador abans d’eliminar files manualment; si no, el problema tornarà. Anota l’última execució correcta, la durada i quantes sessions va retirar.
Separa la mida de la lentitud
Consulta el registre de consultes lentes o les mètriques de l’allotjament per identificar l’operació costosa. Una taula gran amb índexs correctes pot no ser el coll d’ampolla, mentre que un disc saturat o un índex absent pot alentir-ne una de menor.
Compara l’esquema amb l’esperat per la versió instal·lada i examina el pla d’execució. No afegeixis índexs especulatius que puguin entrar en conflicte amb actualitzacions.
Revisa també Action Scheduler i les taules de comandes. El checkout pot semblar afectat per les sessions quan la consulta lenta es troba en un altre lloc.
Detecta carretons creats per bots
Alguns bots criden rutes d’afegir al carretó, variacions o checkout abandonat a velocitat automàtica. Compara el creixement amb registres agregats per ruta, freqüència i agent d’usuari.
Limita només el patró abusiu. Un repte aplicat a cada petició de carretó pot bloquejar compradors, accessibilitat i callbacks legítims. Elimina també enllaços públics que afegeixin productes involuntàriament.
Revisa retenció i contingut
Un connector o codi propi pot allargar la caducitat o desar payloads massa grans. Busca filtres de durada i claus de sessió personalitzades. Les preferències permanents haurien d’anar al perfil del client o a un model adequat, no a una sessió efímera.
Mesura la mida mitjana i identifica claus anòmales sense exportar-ne el contingut. Qualsevol canvi de durada afecta carretons, privacitat i campanyes de recuperació, de manera que s’ha d’acordar amb el negoci.
Neteja només dades caducades
Després de restaurar el planificador, usa el mecanisme compatible o elimina únicament files objectivament caducades en una operació provada. Programa-la en hores tranquil·les i vigila bloquejos, rèpliques i espai lliure.
Si hi ha molt volum, treballa per lots. Abans de cada lot torna a comptar les files elegibles i fixa un límit de temps. Atura’t si creixen la latència o els bloquejos. Optimitzar la taula pot necessitar espai temporal i bloquejar escriptures; segueix el procediment de l’allotjament.
Verifica carretons i checkout
Crea abans un carretó de control que encara no hagi caducat i comprova que sobreviu. Completa una compra com a convidat i valida comanda, pagament i estoc.
Observa diversos cicles de caducitat per demostrar que creixement i neteja s’equilibren. El manteniment recurrent ha d’alertar sobre tasques fallides, creixement anormal, disc i consultes lentes. La reparació real combina cron fiable, control mesurat dels bots i manteniment de MySQL basat en dades.