2

我知道用于负载测试 WCF 服务的工具,所以请不要建议我使用。

如果我想编写一个工具来调用服务(或调用任何操作)每秒 X 次持续 Y 秒,我需要考虑哪些事情?

我最初的方法是在所需的时间间隔触发一个计时器,并在它触发时创建一个任务,但我担心这只会将很多任务排队等待线程池中的线程执行,它们会不在要求的时间调用服务。

创建单独的线程来完成工作会更好吗?然后我会担心创建大量线程。

那么我可以使用哪些策略呢?

4

1 回答 1

0

这取决于您的可扩展性目标。每个线程运行一个会话更容易 - 在一个线程上运行一系列同步 I/O 事务的代码要简单得多。如果调整得当,您可以在 Windows 和 Linux 上生成数千个线程。如果您需要扩展得更远,那么您将需要使用异步 I/O API 并设置线程池来为这些 I/O 通道的组提供服务。我建议使线程与 I/O 通道的比率可配置并监视这些池中线程的空闲时间……甚至可能允许池在需要时添加更多线程。

于 2012-10-18T12:47:21.180 回答