查看: 3398|回复: 4

[讨论] 如何确定性能优化目标

[复制链接]
论坛徽章:
7
2011新春纪念徽章
日期:2011-02-18 11:43:342010广州亚运会纪念徽章:羽毛球
日期:2011-03-31 09:40:352010广州亚运会纪念徽章:卡巴迪
日期:2011-04-26 13:46:28ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:36ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00优秀写手
日期:2013-12-18 09:29:11
发表于 2011-3-24 09:49 | 显示全部楼层 |阅读模式
案例:
在参与一次版本发布前的性能测试,其中针对数据库这块的性能测试,客户方提供了一些数据参考,比如达到在线用户量多少时CPU,IO等应该达到某值。于是乎就通过记录当前数据库性能,通过statspack分析进行调整,发现通过等待事件去分析一些问题,修改后,数据库并非得到改善。当时很无奈,然后拉上应用程序开发人员一起看那些应用设计可能存在压力风险,其结果也是甚微。后来就找领导和客户方协商那个指标问题,结果开了一个会,性能指标立马降低一半,按照目前的性能,完全达标,第一次调优经历就这样莫名其妙的结束。
问题:
确定性能优化目标是我们后续进行性能优化的一个向导,才能进一步定位我们的优化方向是哪,是数据库,OS,还是IO等等,尤其针对数据库的性能优化,在无目标的情况下去操作实在不知何时是头。但是这种目标的界定大伙一般是怎么处理?针对产品发布前的性能指标和产品运行的发现'慢'两种情况,希望有类似经历的大侠们给个建议!
招聘 : Java研发
认证徽章
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
发表于 2011-3-24 10:21 | 显示全部楼层
首先需要搞清楚什么是性能

使用道具 举报

回复
论坛徽章:
7
2011新春纪念徽章
日期:2011-02-18 11:43:342010广州亚运会纪念徽章:羽毛球
日期:2011-03-31 09:40:352010广州亚运会纪念徽章:卡巴迪
日期:2011-04-26 13:46:28ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:36ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00优秀写手
日期:2013-12-18 09:29:11
 楼主| 发表于 2011-3-24 15:52 | 显示全部楼层

回复 #2 anlinew 的帖子

我理解的性能就是指系统的处在运行时的一种状态,简单就是慢还是快,是负载大还是负载小,这些我们可以通过CPU,磁盘,或者应用程序去感受我们的性能状态。

使用道具 举报

回复
招聘 : Java研发
认证徽章
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
发表于 2011-3-24 16:24 | 显示全部楼层
性能通常通过响应时间/吞吐量/可用性三个方面来衡量
性能优化的目的之一是在不增加硬件资源的情况下减小用户操作响应时间改善用户体验,那么可以把业务操作的响应时间作为性能指标来考核,对于db来说,可以将SQL执行时间作为指标来考核等
之二是在不增加硬件资源的情况下减少单个操作对系统资源的耗费,从而提高系统的吞吐量,那么指定负载情况下的资源利用率也可作为性能指标来进行考核

对于优化来说肯定是越快越好,耗费资源越小越好,但对于工作来说,通常需要有个目标,而要给出具体的指标目标值通常需要结合用户的需求来确定,比如交互性操作响应时间通常不应该超过3秒等等

使用道具 举报

回复
论坛徽章:
59
狮子座
日期:2016-03-26 13:35:402013年新春福章
日期:2013-02-25 14:51:24双黄蛋
日期:2013-02-25 11:06:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20灰彻蛋
日期:2012-04-25 13:19:33紫蛋头
日期:2012-03-14 11:16:09最佳人气徽章
日期:2012-03-13 17:39:18玉石琵琶
日期:2012-02-21 15:04:38鲜花蛋
日期:2011-11-30 14:13:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
发表于 2011-3-24 16:56 | 显示全部楼层
从建立baseline开始吧,然后才能定一个合理的目标,脱离实际系统单纯给一个多少用户多少cpu多少io,人家会纳闷
11g开始可以用real application testing了,报表出来就有说服力了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表