如何调试缓慢的Windows COM调用

时间:2018-09-13 08:00:51

标签: windows com vmware win32com adobe-indesign

我正在使用Python 2.7 + win32com通过COM界面运行一些脚本来自动执行Adobe InDesign。操作系统是Windows 10,在VMWare ESXi主机中运行。

我正在经历非常缓慢的性能,Python解释器有时会停留在COM调用上几秒钟。我通过实现一个监视线程来定期验证主线程堆栈跟踪,以查看程序执行是否被卡住。

在Windows版本和虚拟化环境的各种其他组合中,我成功使用了相同的堆栈(Python 2.7 + win32com + Adob​​e InDesign)(即,COM响应时间以毫秒为单位,或者最多为十分之一秒,而不是整秒)。

我无法确定瓶颈在哪里。我怀疑:

  1. 操作系统正在减慢COM通信速度
  2. InDesign应用程序正在减慢COM通信速度
  3. 虚拟化环境正在减慢COM通信速度
  4. 这根本不是关于COM的

关于1,我尝试禁用Windows防火墙,Windows Defender防病毒软件,Cortana,并配置Windows显示设置以获得更快的性能。没有明显的变化。

关于2,我不知道,但是我看不到为什么InDesign(最新的CC版本)故意放慢通信速度。

关于3和4,我愿意接受建议。

虚拟OS和主机系统的CPU和内存利用率一直都很低。

这会给任何人敲钟吗? 任何关于如何找出瓶颈的提示都将受到高度赞赏。

我既不是COM也不是Windows专家。我只是在尝试编写一些脚本,以自动化一些繁琐的任务。

0 个答案:

没有答案