我注意到我的應用程序有時非常慢,所以我做了一些測試。 這是一個非常簡單的網絡應用程序。一個servlet獲取一些參數,而不是存儲它們。 除了一件事以外,一切都很好。第一次獲取參數需要很長的時間。我嘗試獲得哪個參數並不重要,但第一次它非常緩慢。奇怪的是,這並不總是發生。有時第一次獲取參數並不慢。Servlet請求getparameter的性能
我的代碼看起來像這樣
request.getParameter("paramName");
request.getParameter("paramName2");
request.getParameter("paramName3");
獲得 「PARAMNAME」 是緩慢的。獲得其他人非常快。
慢我的意思是:200-800毫秒 通過非常快我的意思是:〜0毫秒 (代碼片段,我沒有寫性能測試,但我使用System.currentTimeMillis()
)
UPDATE
我已經將我的項目導出到.WAR文件中,並將其部署到Tomcat。一切安好。所以我認爲這個問題與Eclipse有關。
不,我沒有調試。我在Eclipse上使用Tomcat 6。只需按「在服務器上運行」即可。這很奇怪,我只是不明白。 200毫秒聽起來非常長,但通常是600甚至800 – Bob 2010-04-03 12:15:39
@Bob:如果這隻發生在第一個請求,它可能是JIT編譯大量的代碼。如果它發生了*每個*請求,我懷疑你的性能測量有什麼問題 - 或者你在486上運行:)認真的說,如果Tomcat花費了600毫秒(甚至200毫秒)來分析請求參數,它會是不能用於任何嚴重的部署。 – 2010-04-03 12:18:36
我也觀察過Jetty,事實上我發現很多第一個方法執行都很慢(相對於後續調用),有沒有辦法讓我確認這是由於JIT編譯? – Sudarshan 2014-02-19 09:50:57