为了阐明准确甄别性能问题的重要性,下面列举了一些导致Web应用响应慢的可能问题排查点:
- JavaScript响应慢;
- 资源加载中的产生了阻塞;
- 用户端存在代理;
- DNS问题;
- ISP或网络问题;
- 交换机和路由器;
- 负载均衡器;
- 应用代码(包括第三方软件库);
- HTTP服务器(例如有时是ASP.net或IIS);
- 第三方服务,例如:支付服务提供商、地图服务提供商等;
- 子系统,包括:SQL Server、Redis、Elasticsearch、Rabbit MQ等。
还可以罗列出更多的性能问题排查点,这取决于需处理系统的复杂度和规模。在如此之多的系统组件都可影响性能优化问题的情况下,如何才能确诊性能问题呢?答案概括为一个词:数据。你需要来自于每个系统组件的、相关且有意义的数据。对于Web应用响应慢的问题,数据可以证明每个系统组件是对问题是有影响的还是完全无关的。