2012-10-17 67 views
2

我知道有關用於加載測試WCF服務的工具,所以請不要建議我使用它。編寫負載測試工具有哪些策略?

如果我想編寫一個調用服務(或真正調用任何操作)的工具,每秒X次,Y秒,我需要考慮哪些事情?

我最初的做法是按照需要的時間間隔激發一個定時器並在它觸發時創建一個任務,但是我擔心這會將大量任務排隊等待線程池中的線程執行並且他們不會在需要的時間調用服務。

會創建單個線程做更好的工作嗎?那麼我會擔心創建大量的線程。

那麼我可以使用哪些策略?

回答

0

這取決於您的可擴展性目標。爲每個線程運行單個會話更容易 - 在線程上運行一系列同步I/O事務的代碼要簡單得多。如果調整得當,您可以在Windows和Linux上產生數千個線程。如果您需要進一步擴展,那麼您需要使用異步I/O API併爲這些I/O通道的服務組設置線程池。我建議使線程與I/O通道的比率可配置,並監視這些池中線程的空閒時間......甚至可以允許池在需要時添加更多線程。