千家信息网

HTTP性能优化

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,通过以上图,可以从三个方面来优化HTTP的性能。1.服务器衡量服务器性能的指标,主要有以下几个:a.吞吐量(或TPS、RPS、QPS)b.并发数c.响应时间d.资源利用率(CPU、内存、硬盘、网络)-
千家信息网最后更新 2025年01月25日HTTP性能优化

通过以上图,可以从三个方面来优化HTTP的性能。

1.服务器

衡量服务器性能的指标,主要有以下几个:

a.吞吐量(或TPS、RPS、QPS)

b.并发数

c.响应时间

d.资源利用率(CPU、内存、硬盘、网络)

-->提高吞吐量,吞吐量越高,服务器的性能越好!

-->提高并发数,支持的并发数越大,服务器的性能越好!

-->降低响应时间,响应时间越短,服务器的性能越好!

-->合理利用服务器资源,过高肯定是不行,过低也有可能是存在问题的!

-->Linux服务器的监控工具主要有top、sar、glances等

2.客户端

因为数据都要通过网络从服务器获取,所以它最基本的性能指标就是:延迟。

所谓的"延迟"其实就是"等待",等待数据到达客户端时所花费的时间。

延迟的原因,有几点:

a.距离:由于地理距离导致的延迟,是无法客服的,比如访问数千公里外的网站。

b.带宽

c.DNS查询(如果域名在本地没有缓存的话)

d.TCP握手(必须要经过 SYN、SYN/ACK、ACK 三个包之后才能建立连接)

-->对于 HTTP 性能优化,有一个专门的测试网站:WebPageTest,或使用浏览器的开发者工具

-->一次 HTTP"请求 - 响应"的过程中延迟的时间是非常大的,有可能会占到90%以上

-->所以,客户端优化的关键,降低延迟

3.传输链路(客户端和服务器之间的传输链路)

使用CDN等技术,总之,要增加带宽,降低延迟,优化传输速度。


-----------------------------------------------具体的优化手段----------------------------------------------------------

主要是优化服务端的性能。

1.前端:可以利用PageSpeed等工具进行检测并根据提示进行优化。

2.后端:主要有以下几方面

a.硬件、软件或服务

比如更换强劲的CPU、内存、磁盘、带宽等,比如使用CDN

b.服务器选择、参数调优

选用高性能的服务器,比如Nginx,它强大的反向代理能力实现"动静分离",动态页面交给Tomcat等,静态资源交给Nginx

另外,Nginx自身也有可以调优的参数,比如说禁用负载均衡锁、增大连接池,绑定 CPU 等

对于 HTTP 协议一定要启用长连接,因为TCP 和 SSL 建立新连接的成本非常高,可能会占到客户端总延迟的一半以上

TCP 的新特性"TCP Fast Open",类似 TLS 的"False Start",可以在初次握手的时候就传输数据,尽可能在操作系统和 Nginx 里开启这个特性,减少外网和内网里的握手延迟。


使用HTTP协议内置的"数据压缩"编码,可以选择标准的 gzip,也可以尝试新的压缩算法 br

不过在数据压缩的时候应当注意选择适当的压缩率,不是压缩的越厉害越好

c.缓存

网站系统内部,可以使用 Memcache、Redis等专门的缓存服务,把计算的中间结果和资源存储在内存或者硬盘里

Web 服务器首先检查缓存系统,如果有数据就立即返回给客户端

另外,CDN 的网络加速功能就是建立在缓存的基础之上的,可以这么说,如果没有缓存,那就没有 CDN。

利用好缓存功能的关键是理解它的工作原理,为每个资源都添加 ETag 和 Last-modified字段,再用 Cache-Control、Expires 设置好缓存控制属性。

其中最基本的是 max-age 有效期,标记资源可缓存的时间。对于图片、CSS 等静态资源可以设置较长的时间,比如一天或者

一个月,对于动态资源,除非是实时性非常高,也可以设置一个较短的时间,比如 1 秒或者 5 秒。这样一旦资源到达客户端,就

会被缓存起来,在有效期内都不会再向服务器发送请求。


服务 服务器 缓存 资源 延迟 性能 时间 客户 客户端 数据 越好 传输 内存 吞吐量 就是 工具 带宽 系统 网站 网络 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 会议服务器连接图片 上海金山区软件开发招聘信息 服务器千兆网口和万兆网口的区别 数据库搜素最近50条信息 nba2k22与服务器连接错误 四川环保服务器散热风扇 国家网络安全中心网站 银行网络安全的待遇 公网ip的网络安全 国家网络安全宣传片 网络技术基础考试答案配伍题 阿里云服务器下载不了 服务器 同步 软件开发资本化处理 网络安全应急预案评估表 夏邑脸谱互联网科技有限公司 网络安全法党员干部 r53600服务器虚拟化方案 新建一个数据库账户 当当网计算机网络技术单元测试卷 甘肃润源软件开发有限公司 网络安全与生活的英语作文 流行的服务器 郑州安捷软件开发有限公司 物流软件开发公司合适的开发 服务器里的驱动如何给本地电脑装 开票软件开发票时闪退 软件开发收官之战是什么 顶级电脑能不能当做服务器 如何支撑网络安全
0