在1971年的电影《肮脏的哈里》中,克林特·伊斯特伍德饰演了一位硬汉警探。开场场景里,他用那把巨大的史密斯威森.44马格南手枪,以冷峻姿态击毙了持枪劫匪。枪声回荡,仅剩一名劫匪负伤倒地。 哈里走向他,说出了这部电影的标志性台词:"我知道你在想什么。他开了六枪还是五枪?老实说,在这么激动的场面下,我自己都记不清了。 但既然这是把.44马格南——全世界威力最大的手枪,能把你脑袋打得粉碎——你得问自己一个问题:感觉自己走运吗?怎么样,混蛋?”那混蛋随即投降,问哈里还剩几发子弹。哈里举枪瞄准他扣动扳机。枪里空了。银行劫匪走运了。
您是否依赖运气来确保关键任务应用程序日复一日地持续为企业服务?还是说您已建立一套发布前测试流程,确保应用程序完全按预期运行?我提出这个问题,是因为最近不断有人询问:在升级操作系统版本时,是否必须或建议重新构建应用程序。 您或许不必强制重建应用程序,但我建议无论使用Windows、Linux、VOS还是OpenVOS系统都应执行此操作。尽管各系统供应商竭力确保新版本与现有代码兼容,我仍认为最稳妥的做法是在新系统上重建并重新测试软件,而非依赖运气。
当您运行关键任务应用程序时,我认为必须进行此级别的投资。否则,就像电影中的场景那样,您将面临让业务暴露于真正恶劣后果的风险。您必须自问的问题始终如一——我敢赌运气吗?面对所有正在发生的变更——新系统代码、可能的CPU升级至更快的处理器、或许还有若干应用程序调整——我如何能确信万无一失?
解决方案是建立一套严谨的资格测试。通过在新版本上重建源代码,您将获取编译器和运行时环境的最新漏洞修复。您可能会发现编译器生成的新错误信息揭示了源代码中潜在的缺陷。通过重新运行单元级测试,可确保应用程序的功能模块仍按预期运作。 通过重新执行系统级测试,可验证整体协同运行无误。最后,通过一系列容量或压力测试,您将确认整套软硬件系统能够承受最严苛的负载考验。此外,您还能测得应用程序的最大吞吐量,该数值可在未来数月作为剩余冗余容量的参考指标。
无论如何,千万不要陷入这样的误区:认为因为在旧版本或旧的、较慢的硬件上没有遇到问题,升级后就不会出现问题。 我们内部统计数据显示,软件缺陷与处理器速度提升呈正相关。某些前所未闻或极为罕见的问题,在更快的处理器上可能变得司空见惯。运行多年的软件也可能因交易量正常增长导致队列溢出而轻易崩溃。确保应用程序在变更环境中正常运行的唯一途径,就是尽可能开展全面而真实的测试。
别让自己面对枪口时还在揣测剩余子弹。别拿关键任务应用冒险。别指望运气。掌控全局。在实验室里发现问题,而非生产环境中。
只要遵循这些步骤,下班后你就能安心放松,因为你已竭尽全力确保系统运行顺畅。说不定还能抽空去看场电影呢。
暂时就这些。
