Web Bench是一個(gè)網(wǎng)站壓力測試的工具,2004年最后一次更新。使用C語言編寫,最多可以模擬上萬個(gè)并發(fā)連接。
其原理就是使用fork創(chuàng)建子進(jìn)程,通過子進(jìn)程來測試http連接,把測試結(jié)果寫到管道,再有父進(jìn)程讀取管道信息來計(jì)算測試結(jié)果。流程圖下:

image.png
在實(shí)驗(yàn)室的服務(wù)器上面做了一個(gè)測試,測試的情況是拿出一個(gè)固定的時(shí)間(這里是15s),然后去運(yùn)行自己寫的webbench,向服務(wù)器上面搭建的一個(gè)nginx發(fā)送請求。觀察在這一段時(shí)間里面,壓測工具可以向服務(wù)器發(fā)送多少個(gè)頁面請求。橫坐標(biāo)表示壓測工具開啟的進(jìn)程數(shù),縱坐標(biāo)表示測試的結(jié)果(即平均每分鐘請求到了多少個(gè)頁面)。

image.png
服務(wù)器的配置,如下:

image.png