2016-12-24 34 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爲負數,請跳過等待。

相關問題