为什么winword加载文档缓慢

时间:2020-07-14 11:56:04

标签: performance ms-word multiprocessing

服务器2016(HOST)中的虚拟服务器2016(VM1)主机, 给定了从主机到VM1的所有24个处理器,并且对资源没有处理器限制(可以占用100%)。

使用24个测试过程运行24个实例,这些过程仅执行字符串操作:CPU增长到大约100%。

但运行一个程序的24个实例,该程序最初只会创建一个winword实例

app=CreateObject("Winword.Application");
docs=app.Documents;

然后无限循环地加载和释放文档

_doc=   _docs.Open(
                    FileName:=              _src_File,
                    ConfirmConversions:=    false,
                    ReadOnly:=              True,
                    AddToRecentFiles:=  false
                )

_doc.Saved= true
_doc.Close(
                SaveChanges:=       false,
                RouteDocument:= false
            )

那么总的最大CPU使用率不会超过20%。

在资源监视器中,CPU最高频率约为80%(在其他测试程序中,最高频率为105%)。

在“光盘”选项卡中,队列的长度约为0.2,而不是更多。但是我还对所有C-Partition完全在RAM光盘中进行了测试,但是效果很小。

测试文档(在每个过程中均使用不同的名称复制)为31kB,并且只有文本,没有链接,没有图像。在Winword中,所有加载项均被禁用。 在每个线程中加载文档的平均时间约为3秒。

(如果通过24个实例的多处理或多线程进行操作,则不会有任何区别)

请问,为什么我不能加快20%以上的CPU使用率? Winword有什么作用?看来winword在80%的时间内都处于睡眠状态。 32GB的RAM,RAM磁盘,所有CPU,HOST或VM1上没有其他运行的应用程序,没有防病毒扫描程序-请问瓶颈在哪里?

0 个答案:

没有答案