Pre-1.前言
最近看到一個說法,當網(wǎng)站被CC時,站庫分離可以起到緩解的作用,那么我就來做一個測試
Pre-2.測試說明
本次測試通過阿里云PTS的RT 90% 和RT Avg 兩個指標來比較響應(yīng)時間的差別,從而確定站庫分離是否有用。
Pre-3.測試配置
- PTS:30個并發(fā)用戶,時長為3分鐘
- 站庫不分離:1x1C2G20M
- 站庫分離:1x1C2G20M + 1x1C2G(MySql 5.7.20-18)
ps: 為了避免網(wǎng)絡(luò)波動造成誤差,PTS和主機都處于上海地域
Pre-4.環(huán)境配置
進行兩組不同程序的測試,WordPress和Typecho,均不啟用Cache
|
站庫分離 |
站庫不分離 |
Nginx |
1.14.0 |
1.14.0 |
PHP |
7.2.11 |
7.2.11 |
MySql |
5.7 |
外部-5.7 |
OS |
CentOS 7.5 |
CentOS 7.5 |
測試結(jié)果
是否站庫分離 |
程序 |
RT 90%(ms) |
RT Avg(ms) |
錯誤率 |
CPU占用率 |
內(nèi)存占用率 |
否 |
WordPress |
1203 |
1149 |
0% |
100% |
30% |
否 |
Typecho |
321 |
308 |
0% |
100% |
27% |
是 |
WordPress |
941 |
973 |
0% |
100% |
22% |
是 |
Typecho |
255 |
225 |
0% |
97% |
21% |
總結(jié)
- 從結(jié)果來看,站庫分離對于緩解壓力有一定作用
- 但是在30并發(fā)情況下,分離之后響應(yīng)時間和系統(tǒng)負載的下降有限
- 而且站庫分離意味著成本的上升。相比之下還是啟用緩存,優(yōu)化代碼帶來的提升更明顯
- 在遭遇CC時,nginx直接限死單IP并發(fā)和全站并發(fā),效果非常好(推薦:有攻擊時單IP并發(fā)為10,全站并發(fā)為200)
- 有條件的話,站庫分離還是做一下比較好
PS:nginx的并發(fā)指的是并發(fā)的連接,PTS的并發(fā)指的是并發(fā)的頁面打開
https:///archives/341
Comments
|