性能測(cè)試:項(xiàng)目中netperf使用問題
前提安裝版本不一致在項(xiàng)目中使用netperf進(jìn)行性能測(cè)試時(shí),我們發(fā)現(xiàn)安裝在Linux上的netperf版本為2.5.0,而Windows上的版本為2.4.5.1。這導(dǎo)致了一些使用上的問題。測(cè)試結(jié)果出現(xiàn)
前提安裝版本不一致
在項(xiàng)目中使用netperf進(jìn)行性能測(cè)試時(shí),我們發(fā)現(xiàn)安裝在Linux上的netperf版本為2.5.0,而Windows上的版本為2.4.5.1。這導(dǎo)致了一些使用上的問題。
測(cè)試結(jié)果出現(xiàn)未知錯(cuò)誤
我們首先在Linux主機(jī)(10.10.125.53)上啟動(dòng)netserver,并在Windows主機(jī)上運(yùn)行netperf.exe來測(cè)試性能。測(cè)試結(jié)果顯示帶寬為33022。接著,我們嘗試在另一臺(tái)Windows主機(jī)(10.10.125.188)上啟動(dòng)netserver.exe,再次在Linux主機(jī)上運(yùn)行netperf來進(jìn)行測(cè)試。然而,這次測(cè)試時(shí)出現(xiàn)了988 Unknown Error的錯(cuò)誤。
更新版本解決未知錯(cuò)誤
為了解決出現(xiàn)的未知錯(cuò)誤,我們決定將Linux上的netperf版本更新為2.4.3。我們進(jìn)行編譯過程,但是卻遇到了一個(gè)錯(cuò)誤:undefined reference to `__CPU_SET' in netlib.c的錯(cuò)誤。為了解決這個(gè)問題,我們修改了netlib.c文件,將`#if defined(__CPU_SETSIZE)'改為`#if defined(__USE_GNU)',然后重新進(jìn)行configure和make操作。
重新測(cè)試結(jié)果
繼續(xù)進(jìn)行測(cè)試,我們?cè)俅卧赪indows主機(jī)(10.10.125.188)上啟動(dòng)netserver.exe,并在Linux主機(jī)(10.10.125.53)上運(yùn)行netperf來測(cè)試性能。這次的測(cè)試結(jié)果顯示帶寬為576.5154。接著,我們嘗試在另一臺(tái)Linux主機(jī)(10.10.125.190)上啟動(dòng)netserver,并再次在Linux主機(jī)(10.10.125.53)上運(yùn)行netperf進(jìn)行測(cè)試。這次的測(cè)試結(jié)果顯示帶寬為9206。
建議
1、在使用需要編譯的工具時(shí),不同版本的Linux可能會(huì)存在一些差異。因此,我們需要了解一些makefile的基礎(chǔ)知識(shí),以便正確地編譯和使用工具。
2、需要注意的是,我們并不清楚測(cè)試機(jī)器是否都在機(jī)房的千兆環(huán)境下。Linux和Windows所能夠使用的帶寬可能存在較大差異。我們無法確定是Windows網(wǎng)絡(luò)的原因還是netperf在Windows版中的實(shí)現(xiàn)問題。因此,在進(jìn)行性能測(cè)試時(shí),需要考慮到這些因素可能對(duì)結(jié)果產(chǎn)生的影響。