软件设计是决定软件性能的关键

简介:
大家更多的是关注测试工具,测试技巧,而少有人去从根本上来分析、测试软件。一个优秀的软件性能测试工程师要具有宏观和微观的软件测试观。他要分析软件的 架构,了解软件的运行模式,了解通讯协议,更是一个软件开发高手。就象一个医生,他要通过多年的深造和摸索,要了解病理、药理,他才能对症下药,好了,不 多说了,说一下软件设计对软件性能的影响。这是我遇到的一些实际的例子。
例子一:一个网站,允许注册用户可以上传一些图片、文档、影音文件,把这些文件做为大二进制文件存储到数据库中。功能并不是太复杂,软件的功能测 试没有问题,开始进行性能测试。5个用户的并发都没有通过,功能出错了,性能测试也就进行不下去了,分析原因,原来软件设计的时候,为每一个上传的文件设 计了一个“ID”字段做为主键,该字段是自增的,在ORACLE数据库中没有自增字段,需要编写触发器来自增,但是软件开发人员在应用程序中编写了一个函 数,在上传文件前从数据库中获得最大ID,然后加一,再填写其他信息,选择文件,上传,这样在多用户使用的时候必然造成ID字段值重复,系统必然出错。这 个错误修改后,进行性能测试,设计者把所有的上传文件都保存到一个数据表中,他没有考虑网站的流量和上传文件数量很多的情况,结果在进行数据库压力测试的 时候,当数据库中有10万条记录时,假设每个上传文件的大小是1M,该数据表的查询、备份、恢复都非常困难,当多用户浏览、上传这些文件时,性能严重下 降。这就是一个软件设计存缺陷。
例子二:一个图形管理软件,架构采用的是B/S模式,通过在IE中嵌入ACTIVX控件,根据从数据库中读取出的测量点数据,在ACTIVX中绘制 成各种曲线,该测量点数据是井的数据,每米取10个点,每点有16条数据,每口井的井深平均按5000米算,500口井的数据就非常庞大了。在性能测试的 时候,我首先分析了软件的运行机制,客户端发出请求--WEB服务器(分析)--读取数据库数据--生成HTML和数据流返回客户端--客户端控件根据点 数据绘制成曲线。从这些过程中看性能的瓶颈应该在WEB服务器和数据库间。(ACTIVX控件有的性能测试工具不支持,但协议可以看成是HTTP,并可以 看成是一次请求),因ACTIVX运行在客户端,这部分的性能主要是受客户端影响。在性能测试过程中发现,性能真的是受数据读取速度的影响,更可怕的是, 该数据库竟然没有设置索引,设置索引后,软件开发人员竟然在索引字段用了trim()函数来去掉空格,造成索引字段没有起到作用,汗一个!!!!。
从上面的例子可以看出,设计才是决定性能的关键。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/135995,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
2658 22
|
23小时前
|
云安全 人工智能 安全
|
5天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
|
6天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1161 4
|
云安全 安全 网络安全
|
6天前
|
安全 算法 定位技术
《高性价比人生指南》完整原版:普通人用最少的资源,过好这一生的底层逻辑~How To Live Better
📖《高性价比人生指南》是一份基于实证、拒绝焦虑的生存手册,倡导以“人生时薪”为视角,重新计算时间、金钱与精力的成本与收益。它不承诺逆袭,只教人算清账:省下的钱若耗掉时间便亏;买体验比买物品更值;睡眠是最高杠杆的健康投资;关系贵在情绪价值而非表面热络;学习重在改变行为而非自我安慰。核心理念:用低成本、高回报的微小行动,换取长期的选择权——不是成为谁,而是掌控自己人生的主动权。
|
19天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
3318 52
|
11天前
|
人工智能 JSON Linux
【保姆级】ComfyUI部署教程(下载+安装+配置+工作流,2026最新)
ComfyUI 是一款开源节点式AI生成工具,支持图像、视频、音频及3D内容创作。通过拖拽连线组合模型加载、提示词、采样等节点,构建可复用、易修改的工作流,兼容SD1.5、SDXL、Flux、Qwen Image等主流模型。