手机性能故障包括哪些问题?

通过Redis-cli命令行界面访问到Redis服务器嘫后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标

info命令输出的数据可分为10个类别,分别是:

這篇主要介绍比较重要的2部分性能指标memory和stats

需要注意的是info命令返回的信息,并没有命令响应延迟相关的数据信息所以后面会详细介绍怎麼获取与延迟相关的数据指标。

倘若你觉得info输出的信息太多并且杂乱无章可以指定info命令的参数来获取单个分类下的数据。比如输入info memory命令会只返回与内存相关的数据。


为了快速定位并解决性能问题这里选择5个关键性的数据指标,它包含了大多数人在使用Redis上会经常碰到的性能问题

上图中used_memory 字段数据表示的是:由Redis分配器分配的内存总量,以字节(byte)为单位 其中used_memory_human上的数据和used_memory是一样的值,它以M为单位显示仅為了方便阅读。
used_memory是Redis使用的内存总量它包含了实际缓存占用的内存和Redis自身运行所占用的内存(如元数据、lua)。它是由Redis使用内存分配器分配的内存所以这个数据并没有把内存碎片浪费掉的内存给统计进去。

其他字段代表的含义都以字节为单位:

  • used_memory_rss:从操作系统上显示已经分配的內存总量。

因内存交换引起的性能问题

内存使用率是Redis服务最关键的一部分如果一个Redis实例的内存使用率超过可用最大内存 (used_memory > 可用最大内存),那么操作系统开始进行内存与swap空间交换把内存中旧的或不再使用的内容写入硬盘上(硬盘上的这块空间叫Swap分区),以便腾出新的物理内存给新页或活动页(page)使用

楼主翻译水平有限,如有错误之处请多多包涵也欢迎指出交流,希望本文对大家有所帮助

性能测试交流和培训群: 欢迎叺群。 本人从事银行、电商测试10年+7年性能测试和调优经验,目前在一家中型电商公司担任性能测试经理多次获得京东高级性能测试offer,現长期开展性能测试培训周末班学费在6000左右,包学会为止可以分期付款,欢迎加群咨询 主要培训课程如下:

3、 可用物理内存不足导致内存溢出

4、 磁盘空间不足导致交易处理失败,性能下降

5、 TCP/IP连接数限制导致用户请求失败

6、 磁盘IO使用比较繁忙持续大于70%

1、 线程不回收导致溢出,引发宕机

2、 连接池不释放导致溢出

3、 JVM内存参数设置不合理新生代过大或偏小

4、 永久代设置过小,导致栈溢出

1、 程序响应时间超長

2、 JAVA程序内存溢出内存中存放大量数据对象

3、 JAVA程序循环嵌套过多,过于精细的查询条件子查询间等待超时

4、 程序中存在死循环引起线程死锁,导致CPU使用率达到100%

5、 某些返回结果未定义处理方式导致线程等待,不释放CPU使用率高

1、 SGA分配不合理,需要具体情况具体分析

3、 对於查询业务比较多的表未建立索引,或建立的索引不合理在索引列上使用IS

4、 存在数据库死锁导致数据库连接超时或不释放。

5、 存在过於复杂的计算导致CPU、内存和IO使用率较高。

6、 数据库读写过于频繁导致IO使用率比较高

1、 网络问题,被测试环境网络环境小于100M

2、 客户端问題等等

以上为个人总结仅供参考! 有不同意见,欢迎指正!


当系统出现性能缓慢现象时首先应分析是什么原因导致缓慢再分析如何改进。

首先应当确定是交互次数、还是客户端、服务器性能瓶颈引起的在这个过程中可以应该使用跟踪工具跟踪整个交互过程。

服务器缓慢可以通过JProfiler跟踪应该确认是否有方法调用次数过哆、找到花费时间最多的方法进行优化:

  1. 当一个方法调用花费非常多时间时,应当考虑是否代码有优化余地例如:

由于受到浏览器JavaScript引擎的限制,客户端是目前Smartbi性能瓶颈在不少项目中都会出现效率不理想的情况。客户端的性能跟踪可以使用IE 8 Developer Bar自带的“探查器”根据这个分析结果优化花费时间最多的方法。优化的方法有以下:

  1. 避免操作DOM节点的style属性无论读取、更改style属性都会花费大量時间

这个代码花费时间是5.5秒。在优化后花费为0.4秒:

我要回帖

更多关于 手机性能故障包括哪些 的文章

 

随机推荐