沉思录四:如何优化性能

面对一个架构设计繁复的linux服务器端应用,难于维护的局面,如何破局?其中,性能总是不达标怎么办?

一. 性能度量

1. 量化指标
并发连接数是一个量化指标,软件能不能达到或超过某个并发连接数是一个很明确的值。在达到客观需求的并发数时,CPU占用,内存占用,IO占用等等数据,是附带出的性能指标。
不同软件供应商提供的相同功能软件,在若干相同的量化指标下,可以进行对比。当然,前提是:测试内容一致,所用硬件条件相同。

2. 量化统计
有了指标,如何做统计工作,常常需要借助系统本身的一些软件工具。linux系统下统计网络并发数的工具软件都是现成的,不再冗述。

二. 性能分析

1. 寻找瓶颈
有了指标和统计数据了,还是需要进一步分析出瓶颈在哪儿。剖析瓶颈的形成原因,研究可能的优化方案。如何寻找软件瓶颈,是一个很大的话题。

2. 深度测量
寻找瓶颈不是一蹴而就的,往往是逐渐逼近的过程。在寻找的过程里,反复做深度的测量,看能是发现问题的关键。

3. 理论分析
每次拿到统计数据了,都要结合理论做分析,查找数据反映出的问题根源。理论结合实践,推动分析向深度进展。

三. 性能优化

1. 优化的方向
优化的办法往往就是那么几个,降低CPU占用,优化内存占用,优化IO性能等等几个反面。


四. 形成标准化测试

1. 如何从以上的一到三,形成标准化的自动化测试方案?
如果能形成一套自动化测试方案,不需要太多人参与,自动执行,获得测试结果和性能数据,是为之努力的理想状态。
只要形成固定的自动化测试方案,才能节省人力时间,留下可用,可追溯,可对比的历史性能数据。结合自动化构建,搭建自动化性能测试(另外一个大课题)。

2. 如何获得软件内部更详细的数据?
获得更多更详细的benchmark数据,深入到内部的线程CPU占用,函数调用次数和CPU占用,内存分配销毁次数等等,需要更强力的benchmark软件工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值