我將一個C#asp.net asmx web服務從ii6(32位)傳輸到windows 2008和iis7(64位)。我之前獲得了大約160毫秒的近似Web方法性能時間。在iis7上,即使將網絡方法減少到幾乎無法執行的代碼,我現在也可以獲得大約320毫秒的時間。我意識到第一個電話會有一個編譯時間。這個時間在大約20次通話之後,時間似乎已經穩定下來。升級後asmx web服務速度較慢
我想將運行web方法的時間從320 ms減少到200 ms以下。這有助於處理需要處理多個呼叫的情況。另一個問題是,當我在1秒鐘內加入20個電話時,有一次電話會花費大約3秒鐘的時間。這也是不可取的。
我試着在發佈模式下編譯,並從web.config中刪除了一個調試編譯。 .asmx文件只是引用要加載到dll二進制文件中的類。
不同之處在於,iis7配置爲顯示更詳細的錯誤消息以幫助進行設置。但是,由於這只是在發生錯誤時纔會發生,所以我不會看到它會如何減緩常規呼叫的速度。
我已經嘗試了集成管道模式和經典管道模式,並且仍然獲得了類似的時間。我也嘗試將默認編譯語言設置爲C#。我試着檢查ping時間來驗證它不是網絡。 IIS有一些數據庫連接從Web服務方法中有代碼的時候開始設置,但現在它基本上什麼都不做,我不認爲這應該是一個問題。