分享
評論
贊0
不管怎么樣的ETag,在服務器端都要進行計算,計算就有開銷,會帶來性能損失。一些網站把Etag禁用了,這其實不符合HTTP1.1的規(guī)定,因為HTTP/1.1總是鼓勵服務器盡可能的開啟Etag。為了確定ETag對性能造成的具體影響。我們在服務器上(CPU Intel E5-2620 2.00GHz,內存65G,Web Server使用此CPU的兩個核心)進行壓力測試,在逐漸增加并發(fā)用戶數目的情況下,查看CPU消耗率和服務器吞吐率在有無設置ETag情況下的具體對比。
一、Apache
CPU利用率
如下圖所示,其為測試中服務器使用的平均CPU利用率,縱坐標為百分比,橫坐標為開始測試的時間,其中不用ETag時,平均CPU利用率為18.62805%;啟用ETag時,平均CPU利用率為21.20956%。

吞吐率
如下圖所示,圖中橫坐標為并發(fā)連接數,可見有無啟用ETag對服務器吞吐率的影響不大。

二、Nginx
CPU利用率
如下圖所示,其為測試中服務器使用的平均CPU利用率,縱坐標為百分比,橫坐標為開始測試的時間,其中不起用ETag時,平均CPU利用率為8.679665%;啟用ETag時,平均CPU利用率為9.776242%。

吞吐率
如下圖所示,圖中橫坐標為并發(fā)連接數,可見有無啟用ETag對服務器吞吐率的影響不大。

三、結論
從實際實驗可以看出有無設置ETAg對服務器在高并發(fā)下的吞吐率幾乎無影響,設置ETag后的負面影響主要為增加了CPU負載1%~3%。
評論(0人參與,0條評論)
發(fā)布評論
最新評論