16 September 2014

###术语

####IOPS Input/Output Operations Per Second 即每秒钟读写操作的次数。

####Throughput 吞吐量 单位时间内成功传送数据的数量。在有些场合(如数据库)吞吐量能表示出操作数量。。。。

####Response time 相应时间 操作完成需要的时间。包括等待时间,处理时间,传送时间。

####Latency 延迟 等待处理时间。在有些情况下可以等同于response time

####Utilization 利用率 资源的使用率

####Saturation 饱和度 资源正在被排队使用情况

####Bottleneck 瓶颈 限制系统性能的资源

####Workload 工作量 系统所要处理的操作量

####Cache 缓存 可以存放有限数据的存储

###概念

####Latency 延迟 在一些环境延迟是性能的唯一目标。在另外的环境中延迟和吞吐量并称为最重要的两个指标。

####时间尺度

####权衡 我们经常要在 good/fast/cheap 中选择两个做取舍。 一个常用的取舍是在CPU和内存之间。内存可以缓存数据来减少CPU使用率。在一个CPU资源丰富的系统中可以可以压缩数据来减少内存的使用。 可调参数一般是用来做权衡的。如:

####File system record size 小的,接近系统I/O大小的块大小在随机读写和应用缓存中表现良好。 大的块大小可以提高流负载.

####Network buffer size 小缓存可以减少每个连接所使用的内存大小。 大缓存可以提高系统吞吐量

###调优要素 由于在开发时我们没有太多的考虑性能问题,而是等到出现性能问题时,我们才去调优,所以越接近应用层我们的调优效果会更好。 下面是一张根据软件栈列出可调优对象

系统层 可调对象
Application 数据库查询
Database 表结构,索引,缓存
System Calls 内存映射,读写,同步/异步读写
File System 记录大小,缓存大小,文件系统
Storage RAID等级,磁盘类型数量,存储调优

###适当的程度 不同的团队对性能要求是不同的。这取决于投资回报率(ROI)

###时间点 我们的系统在不断的演进。昨天性能很好的资源在今天可能会成为瓶颈。所以调优建议可能只在某个时间点生效。在网上搜索到的调优参数可能只在某些情况下起作用。

###负载 VS 架构 系统会应为不好的架构或错误的配置导致性能不好。或仅仅是因为负载太高。

###伸缩性 系统在增加负载的情况下表现出来的性能就是系统的伸缩性.下图是一般情况下负载与吞吐量之间的关系。

Through versus Load

###方法 系统性能分析一般有 负载分析(Workload analysis) 和 资源分析(Resource analysis) 这两种常用的方法。

####资源分析(Resource analysis) 资源分析是从分析系统的资源如:CPU、内存、存储、网络、总线等这些资源开始。系统管理员一般采用这种方法。 它包括: 性能问题检测。 性能规划。 这个方法主要关注资源利用率来检测是不是到达他们的极限。

####负载分析(Workload analysis) 主要分析的是在特定的负载下应用的响应情况

#####需要统计的指标有 > IOPS
> 吞吐量
> 利用率
> 饱和度

#####分析的指标有 > 请求:应用负载情况
> 延迟:应用相应情况
> 完成:应用出错情况



blog comments powered by Disqus