我正在設計一個應用程序,該應用程序將具有一個用於饋送大量非常小的元數據請求的網絡接口。應用程序代碼本身非常快,基本上查找緩存在內存中的數據並將其發送到客戶端。最低延遲,開銷最少的應用程序服務器?
對於運行在Linux機器上的網絡應用程序服務器,我可以得到的絕對最低延遲是多少?這將是一個內部應用程序,在沒有驗證的情況下在gigE上運行。任何語言/框架考慮,優先選擇C,C++或Python。同樣的協議,雖然HTTP會很好。
我正在設計一個應用程序,該應用程序將具有一個用於饋送大量非常小的元數據請求的網絡接口。應用程序代碼本身非常快,基本上查找緩存在內存中的數據並將其發送到客戶端。最低延遲,開銷最少的應用程序服務器?
對於運行在Linux機器上的網絡應用程序服務器,我可以得到的絕對最低延遲是多少?這將是一個內部應用程序,在沒有驗證的情況下在gigE上運行。任何語言/框架考慮,優先選擇C,C++或Python。同樣的協議,雖然HTTP會很好。
對於一個小型,快速的HTTP服務器,你可以看看gatling。主要特點:
如果它適合你的需求,考慮C或C++和zmq
雖然,像這樣的應用程序的語言不會是從性能視圖的最大因素。如果您需要支持大量客戶端,那麼編程模型將成爲決定性因素,每客戶端線程(速度較慢)或異步/非阻塞(更快)。
Facebook最近將自己的memcached定製爲handle 200,000 requests per second with 173 microseconds latency。
你可以read the source code看看他們是如何做到的。他們最大的變化之一是丟棄TCP和使用UDP。
G-WAN提供C和C++ 腳本並且已經在近800,000 requests per second處進行過測試。我不知道什麼比這更快,many other servers have been tested。
我很感興趣:你真的結束了使用gatling還是剛剛結束這個問題? – Tomalak 2010-05-06 05:44:14
我們正在評估加特林和龍捲風。 – 2010-05-18 19:52:03