2014-01-24 36 views
3

一臺服務器將使用HTTP客戶端從另一臺服務器,其中有一個HTTP服務器上運行上傳一些數據。在Intranet中打開http連接是否昂貴?

我們有兩個選擇:

  1. 打開一個永久連接,拿着它,並嘗試上傳不同的文件,如果需要
  2. 打開一個非持久的連接,上傳文件一次。下次獲取新連接。

如果服務器都在同一個內網,並且網絡很好。如果選擇選項2,每次創建新連接都很昂貴嗎?


我忘了說:我們正在使用https連接

+2

HTTP 1.1持久連接有由定義比非持久那些更少的開銷。然而,我認爲在本地網絡中,這種開銷將是微不足道的。如果你真的想使用最快的協議,爲什麼不試試SPDY? – SirDarius

+2

如果您使用SSL/TLS,那麼我會考慮建立連接相對昂貴。否則,你可以放心地忽略這種性能風險,假設一個良好的網絡。 – Jk1

回答

0

這將取決於連接的頻率正在取得進展。考慮到網內空間中客戶端的數量較少,使用SSL/TLS會增加一些開銷,但擁有較少擁塞的網絡將允許在兩種情況下流暢的性能。但是,如果您以頻繁的方式進行交易,而不是這種情況下,我寧願持久連接減少新的連接開銷。另一方面,如果我們從服務器的大量連接中獲取大量事務處理能力較低的服務器,那麼建立持久連接可能會使網絡擁塞,並且肯定會對服務器進行測試。所以我們必須考慮各種因素進行選擇。

1

它是一個權衡這裏,如果你認爲帶寬將是您的匯款,然後用選項2去的主要問題是做正確的事。雖然這在服務器處理方面會稍微昂貴一點,因爲每個用戶都會有多個會話,並且會隨着用戶數量的增加而增加。服務器的工作將會很短,並且會很快結束,所以很少有時間餓死。由於連接很短,因此可以同時處理的用戶數量也會增加。有一個騙局,如果有這些文件的序列,你將不得不在服務器端維護。 上,如果你去與選項1.在服務器端的管理。另一方面成爲在處理前要容易得多。它也會消耗更多的帶寬。由於存在持久連接,可以處理上傳的用戶數量將少得多。

0

選項2.等待時間是最大的因素,看在建立TCP連接的一個。由於您處於專用網絡中,因此創建新的非SSL連接的代價是微不足道的。

+0

這是不正確的。如果你想盡量減少延遲,那麼你應該儘可能地重新使用連接,特別是通過SSL。建立和拆除連接的成本不可忽略。還有很多其他因素會影響延遲,您應該運行性能測試來驗證您的瓶頸,但一言以蔽之,創建新連接的成本微不足道只是錯誤的。即使在建立連接的專用網絡上,也需要幾次往返才能完成握手,從而可以在通話延遲上增加幾十毫秒(或更多)。 –

+0

@CameronSkinner謝謝!我的意思是,本地網絡上的非SSL連接的成本是微不足道的。更新瞭解決此問題的答案。 – user6123723

相關問題