检测网站打开速度,室内设计品牌,程序员 做网站 微信公众号 赚钱,wordpress调用标签代码在线性能测试除了为获取性能指标外#xff0c;更多是为了发现性能瓶颈和性能问题#xff0c;然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代#xff0c;结合传统软件系统模型以及互联网网站特征#xff0c;性能调优的模型可以归纳总结为如图1-5-1所示的…性能测试除了为获取性能指标外更多是为了发现性能瓶颈和性能问题然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代结合传统软件系统模型以及互联网网站特征性能调优的模型可以归纳总结为如图1-5-1所示的知识框架。 系统模型中相关的组件说明如下。
1网络分发网络分发是高速发展的互联网时代常用的降低网络拥塞、快速响应用户请求的一种技术手段最常用的网络分发就是CDNContent Delivery Network即内容分发网络它依靠部署在世界各地的边缘服务器通过中心平台的负载均衡、源服务器内容分发、调度等功能模块使世界各地用户就近获取所需内容而不用每次都到中心平台的源服务器获取响应结果。比如南京的用户直接访问部署在南京的边缘服务器而不需要访问部署在遥远的北京的服务器。
2Web服务器Web服务器用于部署Web服务。Web服务器的作用就是负责请求的响应和分发以及静态资源的处理。
3Web服务Web服务指运行在Web服务器上的服务程序。最常见的Web服务就是Nginx和Apache。
4Web CacheWeb Cache指Web层的缓存。一般都用来临时缓存HTML、CSS、图像等静态资源文件。
5应用服务器应用服务器用于部署应用程序如Tomcat、WildFly、普通的Java应用程序如jar包服务、IIS等。
6应用程序服务应用程序服务指运行在应用服务器上的程序比如Java应用、C/C应用、Python应用。一般用于处理用户的动态请求。
7应用缓存应用缓存指应用程序层的缓存服务常用的应用缓存技术有Redis、MemCached等这些技术手段也是动态扩展的高并发分布式应用架构中经常使用的技术手段。
8数据库DB用于数据的存储可以包括关系型数据库以及NoSQL数据库非关系型数据库。常见的关系型数据库有MySQL、Oracle、SQL Server、DB2等常见的NoSQL数据库有HBase、MongoDB、ElasticSearch等。
9外部系统指当前系统依赖于其他的外部系统需要从其他:外部系统中通过二次请求获取数据外部系统有时候可能会存在很多个。
图1-5-1中所示的系统模型是一个互联网中常见的用户请求的分层转发和处理的过程。这个性能调优就是不断采集系统中的性能指标以及系统模型中各层的资源消耗从中发现性能瓶颈和性能问题然后对瓶颈和问题进行分析诊断来确定性能调优方案最后通过性能压测来验证调优方案是否有效如果无效则继续重复这个过程进行性能分析直到调优方案有效瓶颈和问题得到解决。这个过程一般是非常漫长因为很多时候性能调优方案往往不是一次就能有效或者一次就能解决所有的瓶颈和问题或者一次就解决了当前的瓶颈和问题但是继续执行性能压测又可能会出现新的瓶颈和问题。
本文节选自《软件性能测试、分析与调优实践之路第2版》获作者和出版社授权发布。