1

我遇到了 Azure 平台中 exe 执行速度慢的问题

以下是步骤:

  1. 从 SQL Azure Server 和 CSV 文件读取数据并显示在 HTML5 页面上。
  2. 将数据写入 CSV 文件。
  3. 执行外部 Fortron exe,从步骤 23 中生成的 csv 文件中读取数据。
  4. 计算后的 Fortron exe 将数据写入 .txt 文件。
  5. 读取步骤 5 中生成的文本文件数据并将其显示在 HTML5 页面上。

问题:在第 3 点中,当我们使用进程启动方法调用 fortron exe 时, – 在本地机器上通常需要 17~18 秒在云服务器上这需要 34~35 秒。

休息所有其他活动在本地和云服务器上花费相同的时间。

4

2 回答 2

1

关于第 3 步:您正在使用什么大小的本地计算机(例如内核数),因为您正在运行一个可能正在执行一些数字运算的 exe。现在比较一下 Windows Azure 中分配的机器大小?您使用的是 Extra Small(共享核心)还是 Small(单核心)?再加上你的本地机器有多大尺寸的 cpu?如果您不比较同类配置,那么您肯定会有性能差异。RAM(Extra Small 提供 768MB,Small 到 XL 提供每个内核 1.75GB)和带宽(XS 有 5Mbps,Small 到 XL 每个内核有 100Mbps)也是如此。

于 2013-05-13T09:45:45.263 回答
0

Azure 系统的 IO 进程比本地服务器慢,这将是您看到共享系统上的性能影响的原因,因此您的 IO 也可能因邻居和服务器负载而异。如果您的任务是 IO 密集型任务,最好的办法是运行 VM,并且您需要持久化数据是将多个磁盘附加到 VM,然后在磁盘上使用剥离。

http://www.windowsazure.com/en-us/manage/windows/how-to-guides/attach-a-disk/

条带化 IO 磁盘性能统计信息。

http://blinditandnetworkadmin.blogspot.co.uk/2012/08/vm-io-performance-on-windows-azure.html

您将需要一组温暖的磁盘才能获得真正的性能集。

此外,我发现 VM 上的临时存储通常 D 驱动器具有非常好的 IO,因此如果您打算先使用 VM 在那里尝试,可能值得。

于 2013-05-13T07:28:53.487 回答