网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。
1、性能测试指标
1.1 响应时间
指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表。
网站性能指标包括响应时间、并发数、吞吐量及性能计数器。优化策略分为 Web 前端、应用服务器和存储服务器三层。前端通过合并资源、启用缓存、CDN 加速及反向代理提升访问速度。应用服务器采用分布式缓存、消息队列异步化、负载均衡集群及代码优化手段。存储层考虑分布式存储、磁盘阵列等技术方案以提升整体系统性能。

网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。
指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表。
| 操作 | 响应时间 |
|---|---|
| 打开一个网站 | 几秒 |
| 数据库查询一条记录(有索引) | 十几毫秒 |
| 机械磁盘一次寻址定位 | 4 毫秒 |
| 从机械磁盘顺序读取 1M 数据 | 2 毫秒 |
| 从 SSD 磁盘顺序读取 1M 数据 | 0.3 毫秒 |
| 从远程分布式换成 Redis 读取一个数据 | 0.5 毫秒 |
| 从内存读取 1M 数据 | 十几微妙 |
| Java 程序本地方法调用 | 几微妙 |
| 网络传输 2Kb 数据 | 1 微妙 |
实践中计算响应时间通常是通过平均时间计算的平均值。
指系统能够同时处理的请求的数目,这个数字也反映了系统的负载性能。对于网站而言,并发数指网站用户同时提交请求的用户数目。 网站系统用户数 > 网站在线用户数 > 网站并发用户数
指单位时间内系统处理的请求数量,体现系统的整体处理能力。对于网站,可用'请求数/秒'或'页面数/秒'或'访问人数/天'或'处理业务数/小时'等来衡量。 TPS(每秒事物数) 是吞吐量的一个常用量化指标。系统还有 HPS(每秒 HTTP 请求数)、QPS(每秒查询数)。
指操作系统的一些数据指标如 System load(系统负载),CPU 使用率、内存使用率、磁盘等使用情况。
根据网站分层架构,可分为 Web 前端性能优化、应用服务器性能优化、存储服务器性能优化。
CDN 的本质仍然是一个缓存,只是部署在离用户最近的服务器上,一般缓存的都是静态资源。
除了能够保护网站安全的作用以及负载均衡的作用外,反向代理还能够提供缓存作用 (动态资源)。
应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,主要优化手段有缓存、集群、异步等。
缓存主要用来存放哪些读写比很高、很少变化的数据。
分布式缓存指缓存部署在多个服务器组成的集群中,以集群方式提供缓存服务,其具体架构有两种,一种是以 JBoss Cache 伪代码的需要更新同步的分布式缓存,一种是以 Memcached 为代表的不互相通信的分布式缓存。
Jboss Cache 的分布式缓存在集群中的所有服务器中保存相同的缓存数据,当某台服务器有缓存更新的时候,会通知集群中其他机器更新缓存数据。优点是应用程序可以从本地快速的获取缓存数据,但当集群规模较大的时候,缓存更新信息需要通过到集群所有机器,其代价可想而知。
大型网站需要的缓存数据一般都很大,可能会有 TB 的内存占用,这时候就的使用 Memcached,是一种互不通信的架构,每台存储的缓存数据可以不一样。
为了改善网站的扩展性,可以使用消息队列将调用异步化。
在网站高并发访问的情况下,使用负载均衡技术为一个应用构建一个由多台服务器组成的集群,将并发访问请求分发到多台服务器上处理。
代码优化主要涉及多线程、资源复用(对象池或单例)、数据结构和垃圾回收。
可以考虑使用分布式存储、openfiler、磁盘阵列、HDFS(Hadoop)。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online