运行IFS的客户机/服务器为什么响应慢?

日期: 2008-07-08 作者:Lindi Horton翻译:东缘 来源:TechTarget中国 英文

问:我们最近把两个站点(一个在佛罗里达州,另一个在得克萨斯州)连接到了我们的公司网络。这个企业网络的提供的电路是T1帧中继。运行IFS(一家瑞典ERP公司,类似于SAP)应用程序的应用服务器是一台运行甲骨文软件的IBM AIX服务器。这两个站点有新的局域网基础设施,Catalyst 3750的千兆以太网和思科路由器以及新的PC。

我们在每个远程站点的文件服务器都包含IFS可执行文件。互联网浏览和电子邮件很好。本地BDC允许向一个在密尔沃基(Milwaukee)的微软Windows 2000域进行身份识别。我们在运行IFS应用程序的客户机/服务器中遇到了响应时间慢的问题。

我们要命令每个站点的PVC……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:我们最近把两个站点(一个在佛罗里达州,另一个在得克萨斯州)连接到了我们的公司网络。这个企业网络的提供的电路是T1帧中继。运行IFS(一家瑞典ERP公司,类似于SAP)应用程序的应用服务器是一台运行甲骨文软件的IBM AIX服务器。这两个站点有新的局域网基础设施,Catalyst 3750的千兆以太网和思科路由器以及新的PC。我们在每个远程站点的文件服务器都包含IFS可执行文件。互联网浏览和电子邮件很好。本地BDC允许向一个在密尔沃基(Milwaukee)的微软Windows 2000域进行身份识别。我们在运行IFS应用程序的客户机/服务器中遇到了响应时间慢的问题。我们要命令每个站点的PVCS直接连接到密尔沃基,以便减少通讯经过的跳点数量。现在,通讯通过在CT的网络中心。我们命令一台Citrix服务器用于这个应用程序,但是,这台服务器不能容纳全部IFS用户并且让用户在广域网上工作。IFS对于应用程序在广域网链路上的表现是没有帮助的。进行调查以便实现更好的响应的时间的要点是什么?企业使用的NetScout报告使用的带宽非常小。如果我们创建了直接的PVC(永久虚连接),它们需要认真确定规模吗?欢迎和感谢提供任何帮助或者内部信息。

  答:当推出一个应用程序的时候,有许多工具将帮助你了解要更好地运行这个应用程序都需要什么。从我了解的情况看,你在网络上有“NetScout Probes”网络探测工具。你还使用思科设备的NetFlow数据吗?市场上还有一些报告数据能够让你了解应用程序、主机和在这些链路上传输的对话。

  从我收集的数据看,你并不了解这个应用程序产生的延迟、这个应用程序的架构、或者它需要多大的数据吞吐量来传输数据。要量化地回答你的问题,我一般要向这个应用程序本身及其架构提出许多问题。我经常发现许多发布的应用程序从来没有进行过广域网测试,或者用户遇到很高的延迟。由于这个事实,当你出现延迟的时候,应用程序出现响应时间慢的状况是有很多原因的。在你的情况下,你可以选择一个数据包分析器,学习分析数据吞吐量,延迟的问题就可以解决了。在对应用程序没有深入了解的情况下,我将介绍一些引起应用程序运行缓慢的可能的原因,尽管带宽可能不是一个问题。

  首先,认识到序列化延迟和队列延迟是网络延迟的两个组成部分。提高带宽可以改善这两种延迟。序列化延迟是网络把数据放到线路上所用的时间。队列延迟是指对列的长度。这两种延迟通过把带宽从每秒钟128KB的线路提高到T1线路就可以解决。然而,还三种其它种类的延迟:路由/交换延迟、距离延迟和协议延迟。这些延迟通过提高带宽不能取得积极的效果。如果这个线路没有过度使用,那么,提高带宽来改善这个应用程序的性能只能是增加了带宽却没有对应用程序性能产生什么影响。

  我建议采取一种替代的方法,通过在服务器交换机上的一个端口镜像捕捉这个数据包。有许多很好的工具能够进行这种分析和报告。就像剥开洋葱皮一样,这种工具能够披露这个应用程序为什么在网络上运行缓慢的原因,以及哪一个组件造成了延迟。

  我查看的第一件事一般是数据处理需要多长时间。通过大多数数据包分析器中的诊断功能,我将以一个单独的对话的观点查看下列事情:

  • 服务器收到请求之后需要多长时间把数据发送出去?
  • 网络延迟是什么?(一个特定的传输反馈回来的应答需要多长时间?)
  • 这个应用程序发送数据需要绕多少了弯?

  了解这些情况之后,我诊断了许多应用程序问题。然而,有许多可能性。我将简单介绍一些我曾经遇到过的一些问题,从而说明我为什么要问上面的三个问题。

  首先,我询问服务器响应时间以便了解这台服务器需要多长时间能够把数据发送到客户机。这个应用程序在发送数据之前是否等待其它应用程序的数据?例如,我曾经遇到一个情况。一台服务器在开始向客户机发送图片、支持影像和表格查看等数据之前需要等待一个输入查询的完成。通过打开在IIS中的一些选项,这台服务器可以在处理这个查询的同时开始向这个网站的其它客户机发送数据。这样,从最终用户的角度看,装载网页和处理命令所需要的时间都减少了。

  第二,网络延迟是我观察网络阻塞时特别关注的问题。这里要查找的问题是重设窗口规格、丢失数据包或者重新发送数据。连接超时了吗?调查网络延迟问题需要了解客户机的位置、跟踪路由和每一个跳点的阻塞统计。在这种情况下,我曾解决了这样一个问题。当通讯到达一台特定的服务器网卡时,一台交换机的自动协调功能选择了每秒10MB的半双工线路而没有选择每秒100MB的全双工线路,从而引起了很大的瓶颈问题。

  了解应用程序的转折也是在不增加带宽的情况下提高应用程序性能的一个机会。例如,使用的转折的数量和数据包是否全部装载以利用TCP窗口等因素能够全面支持应用程序在高延迟链路上的数据吞吐量。对于在一个10毫秒网络上需要10个转折的应用程序来说,这个程序要在100毫秒之内处理完毕。在一个250毫秒网络上需要10个转折的应用程序需要2.5秒来完成同样数量的数据处理。 通过查看需要的转折的数量,你会了解这些处理是如何喋喋不休地说起来没完。

  还有许多方法可以更好地了解一个应用程序的需求。如果你还有问题,请告诉我。我还可以提供一些其它的选择。

翻译

东缘
东缘

相关推荐