大家都知道,17ce.com是非常有名的測速網站。它在全國及世界其他地區擁有數百個測速節點,用戶提交測速請求後,17ce就會並發地在這些節點上向待測的網址發送web請求。利用它的高並發性,我們可以用它來測試自己網站的壓力響應能力。今天,就來介紹一下如何采用正確的姿勢來對WordPress進行壓力測試,避免緩存以及UA過濾等因素的影響。
1, 繞過WordPress緩存
如果您直接使用17ce來測試WordPress的首頁或者某個文章頁麵,那麽大概率無法起到壓力測試的效果,原因是大部分WordPress都會安裝緩存,使得網站以靜態的方式響應給前端,幾乎沒有數據庫查詢與CPU消耗。因此,如果要正確進行壓力測試,則需要繞過WordPress緩存。
一個比較方便的方法是在WordPress鏈接後麵加上?s=xxx小尾巴,比如https://example.com/?s=656j9f86y. 這個鏈接的作用是用GET方式搜寻WordPress的內容。由於搜寻內容沒有辦法被緩存,因此每一個節點的相應都會產生數據庫查詢。我們測試了一個隨手搭建的測試站,發現測試這個搜寻鏈接之後,產生了很多502響應。
類似地,您還可以對您的WordPress的登錄頁/wp-login.php構造post請求來測試。
2, 繞過UA判斷
如果您的網站屏蔽了17ce的User Agent, 那麽采用默認的設置就無法測試了。您可以看一下測試結果,如果網站響應狀態那裏都是“下載時間異常”,但是響應時間都很短(小於1秒),那說明您的網站屏蔽了17ce的User Agent. 我們可以修改UA來繞過UA判斷。
在測試頁麵,點擊右邊Advanced, 然後下邊找到User agent, 輸入自定義的UA, 比如我們隨便輸一個Chrome的。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
3, 關於Typecho
Typecho和WordPress類似,隻要構造一個搜寻鏈接即可進行測試。Typecho的搜寻鏈接格式為https://example.com/search/xxxxx 如果您使用的是Typecho, 則在17ce上提交這樣的地址即可做到壓力測試。
作者為香菇肥牛,原文鏈接