服务器调节

Table of Contents

操作系统优化

默认SHM目录

连接

最大连接数 | 最大SSL连接数 | 连接超时时间(secs) | 最大持续连接请求数 | 持续连接超时时长 | 发送缓冲区大小 | 接收缓冲区大小 (bytes)

请求/响应

最大请求URL长度(bytes) | 最大请求头大小(bytes) | 最大请求主内容大小(bytes) | 动态回应报头最大大小(bytes) | 动态回应主内容最大大小(bytes)

静态文件传递优化

最大小文件缓存(bytes) | 小文件缓存总大小 (bytes) | 最大MMAP文件大小(bytes) | 总MMAP缓存大小 (bytes) | 使用sendfile() | 文件ETag

GZIP/Brotli压缩

启用GZIP压缩 | 压缩类型 | 启用GZIP动态压缩 | GZIP压缩级别(动态内容) | Brotli压缩等级 (Dynamic Content) | 自动更新静态文件 | GZIP压缩级别(静态内容) | Brotli 压缩级别(静态内容) | 静态缓存目录 | 静态文件最大尺寸(bytes) | 静态文件最小尺寸 (bytes)

全局SSL设置

默认密码套件 | SSL强DH密钥 | 启用多个SSL证书 | 启用SSL会话缓存 | 会话缓存大小 (bytes) | 会话缓存过期时间 (secs) | 启用会话记录单 | SSL会话记录单生存时间(secs) | SSL会话记录单密钥文件

QUIC

启用QUIC | QUIC SHM 目录 | QUIC版本 | 拥塞控制 | 流连接窗口控制 | 最大连接流量窗口值设置 | 连接流量窗口值 | 最大流量窗口值设置 | 每个连接的最大并发数 | 握手超时时间 | 空闲超时时间(秒) | 启用 DPLPMTUD | PLPMTU 默认值 | PLPMTU的最大值

默认SHM目录

Description

将共享内存的默认目录更改为指定的路径。 如果该目录不存在,则将创建该目录。除非另有说明,否则所有SHM数据都将存储在此目录中。

Syntax

path

最大连接数

Description

指定服务器可以接受的最大并发连接数。这包括纯TCP连接和SSL连接。 一旦达到此限制,服务器将在完成活动请求时关闭“Keep-Alive”的连接。

Syntax

整数

提示

当服务器由"root"用户启动时,服务器会尝试自动调整每个进程的文件描述符限制,但是,如果自动调整失败,你可能需要手动增加此限制。

最大SSL连接数

Description

指定服务器将接受的最大并发SSL连接数。 由于并发SSL和非SSL的连接总数不能超过最大连接数的限制,因此允许的最大SSL连接的数量须低于此限制。

Syntax

整数

连接超时时间(secs)

Description

指定一个请求允许的最大连接空闲时间。 如果在这段时间内连接一直处于空闲状态(即没有I/O活动),则它将被关闭。

Syntax

整数

提示

[安全建议] 将值设置得尽可能低,在可能的拒绝服务攻击中,这可以帮助释放无效连接所占用的连接数。

See Also

持续连接超时时长

最大持续连接请求数

Description

指定通过持续连接(持久)会话处理的请求的最大数量。一旦达 到此限制,连接将被关闭。您也可以为每个虚拟主机单独设置限制。

Syntax

整数

提示

[性能建议] 设置为合理的较高的值。值为“1”或“0”时将禁用持续连接。

See Also

Virtual Host 最大Keep-Alive请求数

持续连接超时时长

Description

指定持续连接请求的最长闲置时间。 如果在这段时间内没有接收到新的请求,该连接将被关闭。 这个设置只适用于HTTP/1.1连接。HTTP/2连接有较长的闲置时间,不受此设置影响。

Syntax

整数

提示

[安全和性能建议] 我们建议您将值设置得刚好足够处理单个页面 视图的所有请求。没有必要延长持续连接时间。较小的值可以减少闲置 连接,提高能力,以服务更多的用户,并防范拒绝服务攻击。2-5秒 对大多数应用是合理范围。Litespeed在非持续连接环境是非常高效的。

发送缓冲区大小

Description

每个TCP套接字的发送缓冲区的大小。设定值为0使用 操作系统默认的缓冲区大小。65535是允许的最大缓冲区大小。

Syntax

整数

提示

[性能建议] 建议将此值保留为“未设置”或设置为0以使用操作系统的默认缓冲区大小。
[性能建议] 如果您的网站服务大量的静态文件,增加发送缓冲区 大小来提高性能。
[性能建议] 将此值设置为较低的值将减少吞吐量和每个套接字的内存使用率,从而在内存成为瓶颈时允许服务器拥有更多并发套接字。

接收缓冲区大小 (bytes)

Description

每个TCP套接字的接收缓冲区大小。 512K是允许的最大缓冲区大小。

Syntax

整数

提示

[性能建议] 建议将此值保留为“未设置”或设置为0以使用操作系统的默认缓冲区大小。
[性能建议] 处理大载荷入站请求,如文件上传时,大的接收缓冲区会提高性能。
[性能建议] 将此值设置为较低的值将减少吞吐量和每个套接字的内存使用率,从而在内存成为瓶颈时允许服务器拥有更多并发套接字。

最大请求URL长度(bytes)

Description

指定请求URL的最大大小。 URL是一个纯文本的地址,包含查询字符串来请求服务器上的资源。 硬限制为65530个字节。 大于此值的值,例如64K(大6个字节),将被视为65530

Default value: 8192 or 8K.

Syntax

整数

提示

[安全和性能建议] 将其设置合理的低值来以减少内存使用 并帮助识别虚假请求和拒绝服务攻击。
对大多数网站2000-3000已经足够大,除非使用HTTP GET而不是POST来提交大型的查询字符串。

最大请求头大小(bytes)

Description

指定请求URL中包含的HTTP请求头最大值。 硬限制为131072 字节或128K.

Default value: 32768 or 32K

Syntax

整数

提示

[安全和性能建议] 设置合理的低值来减少内存的使用并帮助识别虚假请求和拒绝服务攻击。
对于大多数网站来说4000-8000已经足够大。

最大请求主内容大小(bytes)

Description

指定HTTP请求主内容最大尺寸。对于32位操作系统, 硬限制为2GB。对于64位操作系统,几乎是无限的。

Syntax

整数

提示

[安全建议] 为了防止拒绝服务攻击,尽量将限制值设定到实际需求的大小。 交换空间的剩余空间必须比这个限制值大。

动态回应报头最大大小(bytes)

Description

指定动态回应的最大报头大小。硬限制为131072字节或128K.

Default value: 32768 or 32K

Syntax

整数

提示

[可靠性和性能建议] 设置一个合理的低值以帮助识别外部应用程序产生的 坏的动态回应。

动态回应主内容最大大小(bytes)

Description

指定动态回应的最大主内容尺寸。硬限制是2047MB

Syntax

整数

提示

[可靠性和性能建议] 设置一个合理的低值以帮助识别坏的响应。恶意脚本经常包含 无限循环而导致大尺寸回应。

最大小文件缓存(bytes)

Description

指定预分配内存缓冲区中缓存的静态文件最大尺寸。静态文件 可以用四种不同的方式服务:内存缓存、内存映射缓存、直接读写和 sendfile()。 尺寸小于最大小文件缓存(bytes)的文件将使用内存缓存服务。尺寸大于该限制、但小于 最大MMAP文件大小(bytes)的文件,将使用内存映射缓存服务。 尺寸大于最大MMAP文件大小(bytes)的文件将通过直接读写或sendfile() 服务。使用内存缓存服务小于4K的文件是最佳做法。

Syntax

整数

小文件缓存总大小 (bytes)

Description

指定分配用于缓存/服务小静态文件的总内存。

Syntax

整数

最大MMAP文件大小(bytes)

Description

指定使用内存映射(MMAP)的最大静态文件大小。 静态文件可以用四种不同的方式服务:内存缓存、内存映射缓存、直接读写和 sendfile()。 尺寸小于最大小文件缓存(bytes)的文件将使用内存缓存服务。尺寸大于该限制、但小于 最大MMAP文件大小(bytes)的文件,将使用内存映射缓存服务。 尺寸大于最大MMAP文件大小(bytes)的文件将通过直接读写或sendfile() 服务。 由于服务器有一个32位的地址空间(2GB),不建议使用内存映射非常大的文件。

Syntax

整数

总MMAP缓存大小 (bytes)

Description

指定分配用于缓存/服务中等大小静态文件的总内存。

Syntax

整数

使用sendfile()

Description

指定是否使用sendfile()系统调用来服务静态文件。静态文件 可以用四种不同的方式服务:内存缓存、内存映射缓存、直接读写和 sendfile()。 尺寸小于最大小文件缓存(bytes)的文件将使用内存缓存服务。尺寸大于该限制、但小于 最大MMAP文件大小(bytes)的文件,将使用内存映射缓存服务。 尺寸大于最大MMAP文件大小(bytes)的文件将通过直接读写或sendfile() 服务。Sendfile()是一个“零拷贝”系统调用,可在服务非常大的 文件时大大减少CPU的使用率。Sendfile()需要一个优化的网卡内核驱动, 因此可能不适合某些小厂商的网络适配器。

Syntax

从单选框选择

文件ETag

Description

指定是否使用一个文件的索引节点、最后修改时间和大小属性 生成静态文件的ETag HTTP响应头。 所有这三个属性是默认启用的。 如果您打算使用镜像服务器服务相同的文件,您应该不勾选索引节点。 否则,为同一个文件生成的ETag在不同的服务器上是不同的。

Syntax

从复选框中选择

启用GZIP压缩

Description

制静态或动态HTTP回应的GZIP压缩。

Default value: Yes

Syntax

从单选框选择

提示

[性能建议] 开启该功能可以节省网络带宽。 针对基于文本的回应如html、css和javascript文件最有效果,一般可以压缩到原文件大小的一半大小。

压缩类型

Description

指定允许压缩哪些MIME类型。 保留此设置不变,或输入default以使用服务器内置的默认列表,该列表已经涵盖了大多数mime类型。
Default value: text/*,application/x-javascript,application/javascript,application/xml,image/svg+xml,application/rss+xml, application/json,application/vnd.ms-fontobject,application/x-font,application/x-font-opentype, application/x-font-truetype,application/x-font-ttf,font/eot,font/opentype,font/otf,font/ttf,image/x-icon, image/vnd.microsoft.icon,application/xhtml+xml

Syntax

MIME type list separated by commas. Wild card "*" and negate sign "!" are allowed, such as text/*, !text/js.

例子

If you want to compress text/* but not text/css, you can have a rule like text/*, !text/css. "!" will exclude that MIME type.

提示

[性能建议] 只允许特定类型进行GZIP压缩。 二进制文件如gif/png/jpeg图片文件及flash文件无法从压缩中获益。

启用GZIP动态压缩

Description

控制动态HTTP回应的GZIP压缩。 启用GZIP压缩必须设置为Yes来开启动态GZIP压缩。
Default value: Yes

Syntax

从单选框选择

提示

[性能建议] 压缩动态回应将增加CPU和内存的使用,但可以节省网络带宽。

GZIP压缩级别(动态内容)

Description

指定压缩动态态内容的级别。 范围从1 (最低)到9 (最高)。
改设置尽在启用GZIP压缩启用GZIP动态压缩启用时生效

默认值: 6

Syntax

Number between 1 and 9.

提示

[性能建议] 更高的压缩级别将消耗更多的内存和CPU资源。 如果您的机器有额外的资源您可以设置更高的级别。 级别9与级别6没有太大的区别,但是级别9会占用多得多的CPU资源。

Brotli压缩等级 (Dynamic Content)

Description

Controls the level of Brotli compression applied to dynamic responses. Ranges from 0 (OFF) to 6 (highest).

This setting will only take effect when 启用GZIP压缩 is enabled.

Default value: 2

Syntax

Number between 0 and 6.

自动更新静态文件

Description

指定是否由LiteSpeed自动创建/更新可压缩静态文件的GZIP压缩版本。 如果设置为Yes,当请求文件MIME属于压缩类型时, LiteSpeed会根据压缩的文件时间戳来创建/更新文件的压缩版本。 压缩的文档会创建在静态缓存目录目录下。 文件名称根据原文件的MD5散列创建。
默认值: Yes

Syntax

从单选框选择

GZIP压缩级别(静态内容)

Description

指定GZIP压缩静态内容的级别。 范围从1 (最低)到9 (最高)。。

该选项仅在 启用GZIP压缩自动更新静态文件 启用后才会生效

默认值是6

Syntax

Number between 1 and 9.

Brotli 压缩级别(静态内容)

Description

指定Brotli压缩静态内容的级别。 范围从1 (最低)到9 (最高)。

该选项仅在启用GZIP压缩自动更新静态文件启用后才会生效

默认值是5

Syntax

Number between 1 and 11.

提示

[性能建议] 压缩可以用来节省网络带宽。 基于文本的响应(例如html,css和javascript文件)效果最好,平均可以将其压缩为原始大小的一半。

静态缓存目录

Description

指定目录路径来存储静态内容的压缩文件。默认是交换目录

Syntax

Directory Path

静态文件最大尺寸(bytes)

Description

指定LiteSpeed可以自动创建压缩文件的静态文件最大尺寸。

默认值为 10M

Syntax

Number in bytes not less than 1K.

提示

[性能建议] 不建议使用LiteSpeed创建/更新较大文件的压缩文件。 压缩操作会占用整个服务器进程并且在压缩结束前新请求都无法被处理。

静态文件最小尺寸 (bytes)

Description

指定LiteSpeed创建相应压缩文件的静态文件最小尺寸。

Default value: 200

Syntax

Number in bytes not less than 200.

提示

It is not necessary to compress very small files as the bandwidth saving is negligible.

默认密码套件

Description

SSL证书的默认密码套件。

Default value: Server Internal Default (Based on current best practices)

Syntax

Colon-separated string of cipher specifications.

SSL强DH密钥

Description

指定是使用2048位还是1024位DH密钥进行SSL握手。 如果设置为“是”,则2048位DH密钥将用于2048位SSL密钥和证书。 在其他情况下,仍将使用1024位DH密钥。 默认值为“是”。 Java的早期版本不支持大于1024位的DH密钥大小。 如果需要Java客户端兼容性,则应将其设置为“否”。

Syntax

radio

启用多个SSL证书

Description

允许侦听器/虚拟主机设置多个SSL证书。 如果启用了多个证书,则证书/密钥应遵循命名方案。 如果证书名为server.crt,则其他可能的证书名称为server.crt.rsa, server.crt.dsa,server.crt.ecc。 如果为“未设置”,则默认为“否”。

Syntax

从单选框选择

启用SSL会话缓存

Description

使用OpenSSL的默认设置启用会话ID缓存。 服务器级别设置必须设置为“是”才能使虚拟主机设置生效。
默认值:
服务器级别: Yes
虚拟主机级别: Yes

Syntax

从单选框选择

会话缓存大小 (bytes)

Description

设置要存储在缓存中的SSL会话ID的最大数量。 默认值为1,000,000。

Syntax

Integer number

会话缓存过期时间 (secs)

Description

此值确定需要重新握手之前,会话ID在缓存中有效的时间。 默认值为 3,600.

Syntax

Integer number

启用会话记录单

Description

使用OpenSSL的默认会话票证设置启用会话记录单。 服务器级别设置必须设置为“是”才能使虚拟主机设置生效。
默认值:
服务器级别: Yes
虚拟主机级别: Yes

Syntax

从单选框选择

SSL会话记录单生存时间(secs)

Description

此值确定需要重新握手之前会话记录单有效的时间。 默认值为3600。

Syntax

Integer number

SSL会话记录单密钥文件

Description

Allows the SSL Ticket Key to be created/maintained by an administrator. The file must be 48 bytes long. If this option is left empty, the load balancer will generate and rotate its own set of keys.

IMPORTANT: To maintain forward secrecy, it is strongly recommended to change the key every SSL Session Ticket Lifetime seconds. If this cannot be done, it is recommended to leave this field empty.

Syntax

Path

启用QUIC

Description

在整个服务器范围内启用QUIC网络协议。 默认值为

Syntax

从单选框选择

提示

当此设置设置为时,仍然可以通过允许QUIC设置在侦听器级别 或通过启用QUIC设置在虚拟主机级别禁用QUIC

QUIC SHM 目录

Description

指定用于将QUIC数据保存到共享内存的目录。

默认情况下,将使用服务器的默认SHM目录/dev/shm.

Syntax

Path

提示

建议使用基于RAM的分区(内存盘),例如 /dev/shm.

QUIC版本

Description

启用的QUIC版本的列表。 此设置仅应用于将QUIC支持限制为列出的版本,最好留空。

Syntax

Comma-separated list

例子

Q035, Q039

提示

It is recommended to leave this setting blank to have the the best configuration applied automatically.

拥塞控制

Description

使用的拥塞控制算法。 可以手动设置,也可以选择“默认”选项,将其保留到的QUIC库中。

默认值:: Default

Syntax

从列表中选择

流连接窗口控制

Description

为QUIC连接分配的缓冲区的初始大小。 默认值为 1.5M

Syntax

Number between 64K and 512M

提示

更大的窗口大小将使用更多的内存。

最大连接流量窗口值设置

Description

指定由于连接流控制窗口缓冲区的最大大小 auto-tuning.

默认值为 0 ,这意味着将使用流连接窗口控制的值,并且不会自动调整。

Syntax

0 or a number between 64K and 512M

提示

更大的窗口大小将使用更多的内存。

连接流量窗口值

Description

QUIC愿意为每个流接收的初始数据量。 默认值为1M

Syntax

Number between 64K and 128M

提示

更大的窗口大小将使用更多的内存。

最大流量窗口值设置

Description

指定由于自动调整而允许流控制窗口达到的最大大小。

默认值为0,这意味着将使用连接流量窗口值的值,并且不会自动调整

Syntax

0 or a number between 64K and 128M

提示

更大的窗口大小将使用更多的内存。

每个连接的最大并发数

Description

每个QUIC连接的最大并发数。 默认值为100

Syntax

Integer number between 10 and 1000

握手超时时间

Description

给出新的QUIC连接完成其握手的时间(以秒为单位),超过限制时间后连接将中止。 默认值为10

Syntax

Integer number between 1 and 15

空闲超时时间(秒)

Description

空闲的QUIC连接将被关闭的时间(以秒为单位)。 默认值为 30

Syntax

Integer number between 10 and 30

启用 DPLPMTUD

Description

启用 Datagram Packetization Layer Path Maximum Transmission Unit Discovery (DPLPMTUD).

Background on DPLPMTUD (RFC 8899)

Default value: Yes

Syntax

从单选框选择

PLPMTU 默认值

Description

QUIC默认使用的PLPMTU (无报头的最大数据包大小,以字节为单位)的默认值. 设置为0将会允许QUIC设置大小.

这个设置必须低于 PLPMTU的最大值 的值.

Default value: 0

Syntax

0或1200至65527之间的整数

PLPMTU的最大值

Description

PLPMTU(无报头的最大数据包,以字节为单位)的上限. 此设置用于限制 在DPLPMTUD search space中"最大数据包大小". 设置为0将会允许QUIC设置大小. (默认情况下LSQUIC暂定MTU为1,500 字节 (以太网)).

这个设置应该比PLPMTU 默认值的值高.
Default value: 0

Syntax

0或1200至65527之间的整数