2016-12-24 33 views
0

我在Visual Studio中编写了一个Visual Basic .NET应用程序来解析MS Powerpoint和Word文件,将幻灯片转换为jpgs并将内容存储在ElasticSearch中。 我想确保在解析共享网络驱动器时,服务器或客户端都不会明显变慢。如何监控执行情况并相应地调整处理过程?任何基本的技术让我开始?余额可用性和性能:在共享网络驱动器上迭代和处理超过10k MS Office文件(1 TB)与.NET的差异

+0

在我们告诉您如何检测它之前,您需要更具体地了解“减慢”对您意味着什么,并且在开始调节之前什么是可接受的性能损失水平。 –

+0

您的问题中没有足够的细节,以提供有用的答案。什么是Sever的实施,客户是什么?监视执行什么? – Mick

+0

选项*非常有限。你认为你正在做一些特别的事情,但编写操作系统的人认为这是完全正常的,操作系统应该处理它。他们对此没有错。你可以修改Thread.CurrentThread.Priority值,但你会看到任何差异的可能性都很低。 –

回答

0

在我的答案我假设负载主要包括阅读PowerPoint和Word文件。所以枚举目录,生成JPG和写结果不是问题。如果没有,该方法可以延长。

一个简单的方法是:

  1. 找出你想要多少IO负载产生最多,例如最多5 MB/s。这是您不想超过的读取率。

  2. 检索开始处理文件之前的时间。

  3. 检索文件大小。

  4. 处理文件后,再花时间计算持续时间。

  5. 处理文件时,您可能会读取您的读取速率。因此,在处理完一个文件后,计算您需要等待多久才能再次读取读取速率,然后等待。计算基本上是

WAIT_TIME = FILE_SIZE/read_rate - 持续时间

使用匹配单元,诸如用于WAIT_TIME持续时间秒,用于FILE_SIZE和每秒字节数字节为read_rate

如果wait_time为负数,请跳过等待。

相关问题