在CentOS 6.3 64bit上为Apache Traffic Server 4.2.3挂载SSD并压测
首先需要認(rèn)識(shí)我們的Linux服務(wù)器的硬件配置和軟件情況
硬件配置:
DELL R720 2U服務(wù)器
CPU ?8核 Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
內(nèi)存 32G
硬盤 ?系統(tǒng)盤 /dev/sda 300GB
? ? ? ssd /dev/sd{b,c} 240GB * 2
? ? ? 普通磁盤 /dev/sd{d-l} ?2TB * 9
軟件配置:
操作系統(tǒng) CentOS release 6.3 (Final)
內(nèi)核 ? ? 2.6.32-279.el6.x86_64
注意:我們這里僅是測(cè)試,只使用兩塊2TB普通SAS磁盤和一塊240G SSD來(lái)供ATS測(cè)試,其他盤都沒(méi)有使用。
下面給出今天測(cè)試的主角,三星240GB的PM853T服務(wù)器級(jí)SSD,這是2014年5月性能最強(qiáng)悍的產(chǎn)品
1.安裝并配置好ATS 4.2.3
ATS掛載SSD需要磁盤和SSD都是裸盤,用戶名和組名是tserver,具體參見(jiàn)前面的文檔。
2.安裝并配置好tsar監(jiān)控軟件
需要能夠監(jiān)控ATS,特別是ssdhit選項(xiàng),參見(jiàn)博文
http://blog.csdn.net/tao_627/article/details/44808637
3.配置jtest雙機(jī)壓測(cè)環(huán)境
我目前采用兩臺(tái)主機(jī)搭建壓測(cè)環(huán)境,一臺(tái)就是配備裸盤SSD的ATS緩存代理服務(wù)器,一臺(tái)就是jtest所在的服務(wù)器,部署示意圖如下
假設(shè)ATS所在服務(wù)器ip是10.10.110.81,它的監(jiān)聽(tīng)端口是8080,假設(shè)jtest所在服務(wù)器ip是10.10.110.149,假設(shè)壓測(cè)域名是"ts.cn"(可以隨便起)。
為了讓jtest和Firefox正向代理都可以正常工作,我設(shè)置業(yè)務(wù)場(chǎng)景為正向+remap替換
配置records.config如下:
CONFIG proxy.config.reverse_proxy.enabled INT 1 ? ? ? ?#打開(kāi)
CONFIG proxy.config.url_remap.remap_required INT 1 ? ? #1為只反向代理,0為正向+反向代理
CONFIG proxy.config.url_remap.pristine_host_hdr INT 0 ?#值改為0,這樣可以釋放對(duì)外域名的自由度。--這個(gè)修改視個(gè)人需要
CONFIG proxy.config.cache.ram_cache_cutoff INT 40 ? ? ?#值故意改小,是為了充分測(cè)試ssd,讓數(shù)據(jù)不緩存RAM-cache
配置remap.config如下:
map http://ts.cn:9080/ http://10.10.110.149:9080
regex_map http://(.*) http://$1
然后運(yùn)行下面的命令來(lái)更新配置文件
traffic_line -x
4.jtest壓測(cè)ssd性能
按道理說(shuō),jtest作為ATS的附帶工具,我們也應(yīng)該在10.10.110.149上安裝一個(gè)ATS,然后進(jìn)入它的源碼目錄tools/jtest下面執(zhí)行下面的命令
./jtest -P 10.10.110.81 -p 8080 -S ts.cn -s 9080 -z 1.0 -D 9080 -k 2 -c 500 -Z 1000 -q 100000000
其中:
con: 并發(fā)連接數(shù)。并發(fā)連接數(shù),單進(jìn)程單cpu處理能力取決于CPU與測(cè)試場(chǎng)景,請(qǐng)酌情設(shè)置,推薦小于9999
new: 每秒新建連接數(shù)。這個(gè)參數(shù)取決于并發(fā)連接數(shù)量與長(zhǎng)連接效率。
ops: 每秒請(qǐng)求數(shù)。也作qps,是比較體現(xiàn)服務(wù)器性能的關(guān)鍵指標(biāo)。
1byte:首字節(jié)平均響應(yīng)時(shí)間。這個(gè)是體現(xiàn)整體轉(zhuǎn)發(fā)效率的關(guān)鍵指標(biāo)。
lat: 完成請(qǐng)求整體響應(yīng)時(shí)間(收到最后一個(gè)字節(jié))。cache系統(tǒng)性能關(guān)鍵指標(biāo)。
bytes/per:每秒字節(jié)流量/每秒每連接流量
svrs:服務(wù)器端請(qǐng)求數(shù)
new:服務(wù)器端新建連接數(shù)
ops:服務(wù)器端每秒請(qǐng)求數(shù)
total:服務(wù)器端總請(qǐng)求的字節(jié)數(shù)
time:測(cè)試時(shí)間(秒)
err:出錯(cuò)數(shù)量(連接數(shù))。穩(wěn)定性測(cè)試中,這個(gè)數(shù)據(jù)可以作為一個(gè)關(guān)鍵指標(biāo)。
對(duì)應(yīng)的tsar數(shù)據(jù)
作為對(duì)比,如果
?CONFIG proxy.config.cache.ram_cache_cutoff?INT 40960 ?//用于確定寫入緩存的object大小,只有小于該數(shù)值的object才會(huì)緩存,默認(rèn)為4M。
對(duì)應(yīng)的tsar圖如下
5.數(shù)據(jù)分析
從jtest的測(cè)試來(lái)看,每秒有500個(gè)client請(qǐng)求,ATS的QPS是7300/秒左右,帶寬是130M;另外,從tsar cache數(shù)據(jù)顯示來(lái)看,很明顯,隨著cutoff的不同,緩存命中從ram-cache很快轉(zhuǎn)移到ssd中,服務(wù)器最初會(huì)有源站請(qǐng)求,很快就變?yōu)閮?nèi)存命中,此時(shí)主要是ssdhit,band為100.00表示帶寬完全壓滿,ramhit和ssdhit的值之和,是100.00,這些數(shù)據(jù)說(shuō)明,單個(gè)jtest已經(jīng)完全壓滿網(wǎng)卡帶寬,并且ssd充分利用,使得服務(wù)器QPS平均達(dá)到7300多。
最后的結(jié)論:
考慮到性能和成本的折衷,ssd的確能夠在較低成本上解決大部分緩存的性能瓶頸問(wèn)題,在不能增加物理內(nèi)存的情況下,使得ATS性能有極大提升。
下面是jtest壓測(cè)時(shí),隨著緩存命中急劇增加,ATS性能的變化曲線,很清楚地說(shuō)明了這一點(diǎn):
致謝:
感謝測(cè)試中遇到問(wèn)題時(shí)朋友的幫忙,特別是耀揚(yáng),紙鳶,廈門-walker
未盡事宜:
上面使用一個(gè)jtest顯然并未完全壓榨ssd的性能,我們需要繼續(xù)使用多個(gè)jtest實(shí)例來(lái)壓測(cè),這需要后續(xù)的補(bǔ)充。
總結(jié)
以上是生活随笔為你收集整理的在CentOS 6.3 64bit上为Apache Traffic Server 4.2.3挂载SSD并压测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ATS 4.2.3自定义日志文件格式的方
- 下一篇: ATS cache中的几个数据结构图收集