我有一个客户端服务器应用程序,它为客户端请求的数据交换XML文档。本质上,用户输入一些搜索约束(要匹配的属性),客户端与两个系统进行通信以获取数据(来自数据库的一些数据和来自文件服务器的一些数据)。为Web服务计算吞吐量下载
从文件服务器(归档数据文件)返回的数据比从服务器返回的元数据大很多,并且相应需要更多时间来执行。
用户要求我提供关于下载归档数据所需时间以及下载速度(下载后)的指标。
客户端服务器与异步I/O和众多线程进行通信,因此我不能只使用启动/停止计时器来完成此操作。
我目前实现将按这样:
- 记录当前蜱(这是一个长期运行的进程那么蜱分辨率是罚款)
- 手从请求到web服务Asyncronously。
- ---等待---
- 获取当前蜱
- 获取文档的大小返回(有一些开销不是从SOAP信封占但这是好的,我认为)
- Rate =(Document Size/1024)/(End Ticks - Start Ticks)* Ticks/Second(I let a timespan object do this)
起初我以为这种方法没问题,但我有用户报告小样本的比率比大样本的要低得多,并且在一次执行中费率变化很大。
有没有更好的方法来计算这个比率更容易受此影响?对于较大的档案来说,速度会更快,但在测试中,我认为它比文件大小高10-40倍,这是没有意义的。
传输的平均数据远大于100K,但小于100M(我知道范围很大)。由于我使用的是持久连接,我会假设建立时间被固定,也许这个假设是错误的。 – GrayWizardx 2009-12-19 18:50:39