系统会出现各种性能问题,例如打开页面越来越慢、查询数据时很长时间才显示列表等。
系统之所以不能满足性能要求,一般是系统内部出现问题,也说明系统存在或多或少的设计文件,算法实现等问题。软件系统因采用不同的软件技术、不同的平台、不同的架构或不同的算法引起的性能问题是不一样的,性能问题包括内存溢出、应用终止、服务器宕机等严重问题。
- 资源泄漏,包括内存泄漏。系统占用的资源(如内存、cpud等)随着运行时间的不断增长,而降低了系统性能。系统响应越来越慢,甚至系统出现混乱。只有重启系统才能恢复最初水平。这类问题产生的主要原因是有些对象(如GDI使用、jdbc连接)没有及时被销毁、内存没有释放干净、缓冲区没有回收等。
- 资源瓶颈,内部资源(线程、放入池的对象)变得稀缺。随着负载增加,系统越来越慢甚至系统挂起或出现异常错误,这类问题产生的主要是线程过度使用或资源分配不足。
- cpu使用率达到100%、系统锁定等。代码中可能存在无限循环、缺乏保护(如对失败请求不断的重试)等问题,对网络应用系统,问题常常出现在数据库服务器上,如频繁对数据库存取、未使用连接池或连接池配置参数不当、单个sql请求数据量过多,没有使用高速缓存等。
- 线程死锁、线程阻塞等造成系统越来越慢甚至系统挂起或出现异常错误、系统混乱局面等,这可能是由程序对事务并发处理上的错误、资源争用引起锁阻塞和死锁等引起的,例如线程获得顺序的算法不对而造成死锁、线程同步点上备份过多而造成通信阻塞。
- 查询速度慢或列表效率低,主要原因是列表查询未使用索引、过于复杂的SQL语句、分页算法效率低等;也可能是查询结果集过大或不规范的查询,如查询全部字段而不是所需字段、返回全部的数据等
- 受外部系统影响越来越大,最终造成应用系统越来越慢。主要原因有向后端系统发出太多的请求,页面内容过多、经第三方系统认证比较复杂,网络连接不稳定或延迟等
浙公网安备 33010602011771号