一个严重的问题:课件的视频文件通常在几百兆左右,在上传到AIX平台时,速度非常慢,只有40KB/s,以至于浏览器页面失去响应,只有十几兆的小课件可以上传成功,稍微大一点的课件就传不上去了。
我组织项目团队深入分析了这个问题,通过比较测试环境与正式环境的不同之处,定位问题的原因可能来自“网络环境”或者“操作系统”,此外应用程序上传组件在正式环境下能否正常运行也有待验证,根据初步分析,我们制定并实施了以下问题排查措施:
在客户方环境下使用FTP工具上传大视频文件,并使用网络监测工具观察上传过程是否正常,结果上传速度很快,网络监测也完全正常,基本排除了网络因素;
在客户方Windows环境下搭建WebLogic应用服务器进行测试,在上传代码中增加日志输出功能,打印分段传输文件过程中每段的用时和传输速度,结果上传速度很快,可以确定上传组件正常运行;
对操作系统的问题,为进一步缩小问题范围,我们在公司搭建了HP Unix测试环境,上传速度仍然很快,这样基本确定问题是由AIX操作系统带来的。
我组织项目团队成员继续奋战,查阅了AIX操作系统的大量资料,在团队技术骨干的分析和论证下,最后定位问题原因在于一个AIX操作系统的网络传输参数。于是我们写了一份分析报告提交给用户,说明了排查的过程和结论,请求客户方允许我们调整AIX操作系统的一个参数,问题就可以迎刃而解。
但是事情并不像预期的那样顺利,客户方请的咨询公司认为我们的报告证据不足,认为问题是应用系统的错误造成的,应修改应用系统,不应调整参数,而且由于AIX系统上运行着多家公司的多个应用系统,调整参数可能对其他系统产生影响,因此咨询公司坚持在没有得到权威结论前不同意调整参数。
我们一时找不到AIX系统验证我们的结论,但是客户方要求我们尽快解决问题,迫于时间压力,我们只好采用了权宜之计,修改了技术方案,从系统设计上做了调整,增加了一种课件上传管理的方式,避开了直接通过应用系统上传,这样做会增加一些操作步骤,但能够满足课件后台维护的要求,客户也认可这种修改方案,这个问题基本得到了解决。
用事实回应质疑,赢得甲方肯定
问题虽然得到解决,但我的心里却很不踏实:我们的排查结论是否正确还没能在AIX系统上进行验证,这次绕开陷阱的做法只是权宜之计,对系统今后的推广和产品化等工作会带来隐患,也许我们在未来还会再次遇到这个陷阱。此外,由于咨询公司多年服务于客户方,有重要的地位,他们的意见会左右客户方对我们的评价。这是我必须彻底解决的又一个重要问题:如何用事实证明我们的实力和价值。
我一直没有放弃多方寻找问题的解决方法,也一直保持和合作伙伴的联系。当时我还负责另一个项目,需要第三方测试,为此请了专业的第三方测试机构。他们拥有各种品牌、型号和配置的服务器,这让我看到了转机。在第三方测试工作开展的过程中,我与测试机构的负责人建立了良好的关系,在我提出需要免费借用设备时,对方很爽快地答应了。
我们很快在AIX操作系统上搭建了应用系统,进行了期待已久的测试。选定几个不同大小的视频文件样本,在网络传输参数tcp_nodelayack为缺省值0的情况下进行测试,结果与在客户方现场的表现一样,文件上传速度为40KB/s左右,50MB以上的文件就不能成功上传。当把该参数改为1,再用样本文件测试,结果上传速度显著提高,达到4MB/s。我们详细记录了验证过程,写了一份报告发送给客户方和咨询公司,用事实证明了应用系统没有问题,排查结论是正确的,赢得了客户方对我们工作的肯定。