软件性能设计:先做个风洞吧

  经常去铁血网站,知道飞机设计水平跟风洞技术密切相关的。可以说,造好飞机必须要好风洞。有的国家设计不出好飞机,原因就是他没有好的风洞设备,据说歼10能出来,前提就是风洞技术有突破。在软件技术架构中,设计一个高性能的产品无疑与此相同,你必须有一个测试你的产品的方案和产品,而且这个测试方案也许同样重要。

那我身边的俩个项目来说吧。一个是项目群需要的,这的每个项目都几乎用到了短信首发,原来是每个系统自己开发,现在要做整合,并在设计初期就考虑吞吐量,这很好。然而,无论架构师如何多有经验,无论他们曾经设计过每天处理上亿的数据,他们的架构无论看起来多么合理,却无从验证,他们缺少一个类似的风洞。我花时间说服了其中一个人,劝他设计一个模拟网关,这样可以模拟各种负载情况,然而一开始被他拒绝了,他承认有道理,但认为这很难做。他说,架构师不该做,测试人员又没有能力做。

还有一个是以前曾我经手的项目,也是性能攸关的项目,预计每天也有上千万的报文处理,在开发它时候,我同时也开发了大量的周边测试程序。对验证系统起到了很好作用。然后后来接手的人因为精力不足,并没有开发这些系统,现在搞的好多功能点无从测试。QA光用Loadrunner是测试不出来的。

应该所有的毕设论文都有一样的套路,我的算法好,然后我就搭建个测试环境,把测试数据给你展现出来。可现在架构师设计系统的时候很少考虑,我如何证明我的想法是正确的,需知,后期等QA来帮你解决这问题,说不定就完了。

最后在举一个前几天从环球看到的。美国实验激光反导弹系统。配有清楚的图片,能看到飞机发射了激光照在“导弹”上,导弹并没有随之爆炸,而是完好。请别笑,这导弹其实是一个专门收集激光效果的假导弹。有了他,就可以判断实验是否成功,还需要哪些改进。

所以说,我认为一个好的架构师,在性能考虑的时候,一定要考虑到如何去验证自己的设计是正确的,并列入你的项目计划中。这更科学严谨。

你可能感兴趣的:(测试,loadrunner,产品,算法)