性能瓶颈实际上是一个软件的性能缺陷

  通俗的理解“性能瓶颈”

  (1)硬件上的性能瓶颈

  主要指的是CPU、RAM方面的问题。

  例如,

  在进行软件需求分析、概要设计时,确定了在数据库服务器上需要6个CPU、12G内存,

  但是在测试时,发现CPU的持续利用率超过95%,

  这时可以认为在硬件上出现了性能瓶颈。

  (2)应用软件上的性能瓶颈

  一般指的是应用服务器、WEB服务器等应用软件,还包括数据库系统。

  例如,

  在WEBLogic平台上配置了JDBC连接池的参数,大连接数为50,小连接数为5,增加量为10。

  在测试时发现,当负载增加时,现有的连接数不足,系统会动态生成10个新的连接数,这样导致了交易处理的响应时间大大的增加。

  这时可以认为在应用软件上出现了性能瓶颈。

  (3)应用程序上的性能瓶颈

  一般指的是开发人员新开发出来的应用程序。

  例如,

  用Java或者C开发出来的部署在应用服务器上用于用户交易请求处理的应用程序。

  例如,

  某个开发员开发了一个缴费处理程序,在测试时发现,

  这个缴费处理程序在处理用户发过来的并发缴费请求时,

  只能串行处理,无法并行处理,

  导致缴费交易的处理响应时间非常长,

  这时可以认为在应用程序上出现了性能瓶颈。

  (4)操作系统上的性能瓶颈

  一般指的是Windows、Unix、Linux这些操作系统。

  例如,

  在windows系统中,虚拟内存设置的不合理,

  都指定为C驱提供虚拟内存,

  在测试时发现当出现物理内存不足时,

  虚拟内存的交换效果非常不理想,

  导致交易的响应时间大大增加。

  这时可以认为在操作系统上出现了性能瓶颈。

  (5)网络设备上的性能瓶颈

  一般指的是防火墙、动态负载均衡器、交换机等设备。

  例如,

  在动态负载均衡器上设置了动态分发负载的机制,

  当发现某个应用服务器上的硬件资源已经到达极,

  动态负载均衡器将后续的交易请求发送到其它负载较轻的应用服务器上。

  在测试时发现,动态负载均衡机制没有起到相应的作用,

  这时可以认为在网络设备上出现了性能瓶颈。