在VMware上禁用Server 2003 Wonderware App Server页面文件

有很multithreading是否应该与页面文件混淆。 这个场景描述了我的生产环境中的一个独特的环境。 我得出的结论是为了解决我的问题是禁用页面文件。

我正在运行一系列访客虚拟机,其中包括Server 2003 Enterprise Edition(inorite?)。 对于我的物理主机,我运行的是装有VMware ESXi 5.0(通过vCenter进行pipe理)的HP DL380 G7。 对于存储,我有一个装有16个300 GB 10k SAS驱动器的RAID 6的HP P2000 G3 SASarrays,称之为LUN01。 这些虚拟服务器构成我们的Wonderware环境,具有一个SQL服务器和Historian,两个应用程序服务器和两个terminal服务器。

这个堆栈执行的任务是关键任务,并确定该设施是否可以使用它的function。 (即服务器停机时,业务closures)。最近,P2000arrays中的多个磁盘故障导致我从头开始重新考虑架构。 重buildarrays中的磁盘严重损害了Wonderware应用程序完全无响应的性能。 由于这些虚拟机全部运行I / O密集型应用程序,而RAID重build对RAID有着如此高的要求。

我已经确定在磁盘重build过程中发生瓶颈是因为应用程序服务器磁盘写入。 貌似是因为它使用系统页面文件而不是RAM。 networkingI / O的数量因此直接与磁盘I / O相关联。 因此,在重build期间严重的性能对磁盘的影响直接影响APP服务器I / O。 它为什么以这种方式devise是没有意义的,但是它完全解释了为什么本地不存储任何服务器(一个应用程序服务器)将维持10Mbps的磁盘写入速率(应用程序服务器虚拟机的虚拟机性能统计信息)的原因。

所以…我在想的是我想要禁用客户操作系统(server 2003 EE)中的页面文件的情况,以防止部署的Wonderware应用程序引擎创build如此高的磁盘I / O需求…和结果减less了RAID中未来磁盘重build的影响。

  • 你怎么看?
  • 这是否certificate禁用页面文件?
  • 我是否忽略了另一个解决scheme来最小化RAID重build的性能影响?

我不知道Wonderware,但是如果你使用的是页面文件,那么你的内存已经不足了,而且所有的东西都会使用虚拟内存进行得更慢 – 禁用页面文件不一定能解决这个问题,它可以让所有的东西都运行内存不足而崩溃。

1)为主机购买更多的RAM,或者在guest虚拟机中configuration更多的RAM。

2)或configuration应用程序使用较less的内存。

3)或者更有用的是,运行一些像PSInternals的ProcMon一样的东西来看看实际上正在写入磁盘的客人,并确认你的怀疑。

4)如果您可以在Windows Server 2008 R2上运行类似configuration的testing服务器,则任务pipe理器将显示比2003(过程,文件,响应时间)更多详细信息的磁盘访问,而不使用进程监视器的巨大日志文件。

它为什么以这种方式devise是没有意义的,但是它完全解释了为什么本地不存储任何服务器(一个应用程序服务器)将维持10Mbps的磁盘写入速率(应用程序服务器虚拟机的虚拟机性能统计信息)的原因。

应用程序日志文件? 临时文件,如报告或渲染模板及其输出? 事务日志通过应用程序的所有东西? 两个应用服务器之间的状态同步? stream氓防病毒扫描器? 损坏的文件系统过滤驱动程序? 恶意软件?

在Wonderware的电话时间里,我能够弄清楚这一点。 基本上在部署到Galaxy上的每个App Engine中都有一个可configuration参数,称为“检查点周期”。

检查点周期是Archestra将应用程序的当前状态(值,variables等)写入磁盘之间的时间段。 这样做是为了在服务器重新启动或系统崩溃的情况下,应用程序可以从最近的状态恢复而不会丢失数据。 如果您的应用程序devise为将值存储在星系物体中,则必须权衡您可以容忍多less数据丢失。 如果您的应用程序仅用于处理数据,并将存储信息的工作卸载到SQL服务器或将值保留在标记数据库中,则不会冒增加此值丢失任何数据的风险。

ArchestrA目前有大约9000个标签。 这意味着在任何两秒之间,9000个值可能已经改变,导致9000个值写入到磁盘…每秒。 这些值中的大多数会覆盖上一秒存储的值。 监控模拟input的系统每秒都会有大量的变化。 作为一个pipe理员,你必须决定有多less是噪声以及需要捕获多less数据用于趋势/跟踪等。

将缺省值0毫秒(系统解释为“没有指定缺省值,使用1秒”)增加到5000毫秒,将我的磁盘活动从超过300个IOP减less到less于25个IOP。 实际上,我们在每个App Engine上交错了一个接近5000毫秒的素数,以便每个引擎的检查点周期都会向磁盘提出独立的请求以进行I / O活动。 这对控制系统的虚拟化特别重要。 在同一arrays上运行多台服务器时,性能和可伸缩性会成为问题。