2014-04-29 21 views
2

這是我的第一個WooCommerce安裝,所以也許我誤解了發生的事情,但是我可以從Google Analytics看到的是我上週五放置的網站昨天有7500場會議, wp_options表中的會話計數(來自_wp_session_expriry%查詢)在過去的12個小時內會出現約50000個會話,因爲我會擦除所有會話。我擦掉了會話,因爲開箱即用的這張表沒有索引,但WooCommerce用大量的會話數據觸發了它,但那個殺手是WooCommerce定期刪除瞬態數據。事實證明,這些刪除中的每一個在表中有300000個會話都花了一分鐘,因爲這些查詢包含LIKE。woocommerce會產生比用戶更多的會話

到目前爲止,我已經檢查過機器人不會發瘋,並且在Apache日誌中翻遍了,雖然我有一些具有很高命中數的IP,但是我不明白爲什麼我會爲WooCommerce獲得新會話,但是而不是Google Analytics。 Apache日誌顯示的實際頁面匹配符合Google Analytics頁面數量,所以我懷疑WooCommerce或插件的問題。

所以現在我已經通過將wp_orders編入索引並將會話過期時間減少到2小時來減少了這個問題,但是這並不能解釋爲什麼我首先會有這麼多的會話。

我使用的是最新的一切:WP 3.9,WC 2.1.7 +加上一些其他WC插件,其中一個附加到WC會話(WooCommerce貨幣切換器),但它看起來像只是乾淨地掛鉤進入會議管理。

所以我有一個很大的問題,然後更加的建築之一:

大一個是:任何人都可以說明爲什麼我在wp_options相比,GA用戶(量級)獲得這麼多屆?而且我更有信心

然後:是否有一種乾淨的方式將WC會話移入單獨的表中? wp_options似乎並不是顯而易見的選擇,因爲考慮到其他所有內容都將其用於大量需要響應的CRUD操作,我期望看到woocommerce_sessions表。

回答

1

Woocommerce > System Status > Tools清除所有會話

1

該解決方案在清除會話中

Woocommerce > System Status > Tools, Clear all sessions 

,改變你的robots.txt來開始嗚 - 車:) 排除機器人搜索引擎機器人掃描所有產品「添加到購物車」按鈕,導致它創建一堆額外的購物車會話。

更改您的robots.txt;添加此:

User-agent: * 
Disallow: /*add-to-cart=* 

我想是woocommerce自動清理這個混亂!

1

我們有這個問題,數據庫是1.3GB!當它很大時,使用「清除所有會話」扼流圈的上述方法。您需要運行MySQL中的查詢(幾次,直到他們全部被清零):

DELETE FROM wp_options 
WHERE option_name LIKE '_wc_session_%' OR option_name LIKE '_wc_session_expires_%' 
LIMIT 500 

或者這樣一個插件可以幫助:http://shop.webaware.com.au/downloads/delete-expired-transients/