我知道负载测试WCF服务的工具,所以请不要建议我使用它。
如果我想编写一个用于调用服务的工具(或者真的调用任何动作),每秒X次,持续Y秒,我需要考虑哪些事项?
我最初的方法是以所需的时间间隔启动一个计时器,并在它触发时创建一个任务,但我担心这会简单地排队很多任务,等待线程池中的线程执行他们不会在规定的时间内调用该服务。
创建单独的线程来完成工作会更好吗?然后我会担心创建大量的线程。
那么我可以使用哪些策略?
答案 0 :(得分:0)
这取决于您的可扩展性目标。每个线程运行一个会话更容易 - 在线程上运行一系列同步I / O事务的代码要简单得多。如果调整正确,您可以在Windows和Linux上生成数千个线程。如果您需要扩展远远超过此范围,那么您将需要使用异步I / O API并设置线程池来为这些I / O通道的组服务。我建议使线程到I / O通道的比例可配置,并监视这些池中线程的空闲时间......甚至可以允许池在需要时添加更多线程。