2011-11-17 79 views
1

我有一個帶有12GB內存的PHP/Apache服務器。我一直在使用6GB分配RAM的同一臺計算機上運行Memcached。memcached在遠程服務器上速度明顯較慢的原因是什麼?

我想在單獨的服務器(相同的數據中心,vlan,子網)上運行Memcached,就像我爲MySQL做的一樣。我使用相同的memcached配置設置了一個單獨的,相同的服務器。

我在遠程服務器上看到的使用Memcached的頁面加載時間大約是我在本地運行時得到的10倍。我已經準備好了這兩個緩存,而且我仍然可以從遠程獲得10倍的加載時間。

我很難解決這個問題。

+0

您如何看待從遠程服務器檢索數據?!? – Macmade

+1

要跟進Macmade的評論:什麼是*延遲*差異?這應該考慮到不同之處:爲了比較,與以太網相比,本地連接實際上沒有通信延遲。考慮運行一些測試來增加(或減少)相對較小規模的memcached查詢的數量,以查看它是如何適應頁面加載時間的。 – 2011-11-17 19:14:56

+0

猜猜別人應該明確地發明RAM遠距傳物... – Macmade

回答

0

僅供參考,DDR3-1333約爲10667 MB/s。

如果你有,比方說,千兆以太網卡,我想這可以解釋一些你所遇到的問題...

+0

我確實在服務器之間有DDR3和千兆位。 – jaredstenquist

+0

因此,要恢復,10GB/s(內存本地)與1GB/s(以太網 - 遠程)......不是說它的速度比遠程服務器低10倍嗎? – Macmade

+0

雖然我沒有移動10GB的數據。我在每個頁面加載中檢索一組鍵 - >值對,每個對都非常小。總的來說,我將在服務器之間移動少於500kb的數據。 – jaredstenquist

1

你每次加載數據頁面加載的500KB,在所有小鑰匙?每個頁面載入的密鑰數量是多少?

到遠程服務器的延遲非常低,但運行多次往返仍然是一個壞主意。 Memcached客戶端支持多重獲取操作,在這種操作中,您可以將許多密鑰批量分配到單個請求/響應中,並且延遲更低。

相關問題