这是 varnishd 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
varnishd - HTTP 加速器守护进程
概要
varnishd [-a 地址[:port][,PROTO]] [-b 主机[:port]] [-C] [-d] [-F] [-f config] [-h
type[,options]] [-i identity] [-j jail[,jailoptions]] [-l vsl[,vsm]] [-M 地址:端口] [-n
名称] [-P 文件] [-p param=value] [-r param[,param...]] [-S 秘密文件] [-s
[name=]kind[,options]] [-T 地址[:port]] [-t TTL] [-V] [-W 服务员]
商品描述
这个 清漆 守护进程接受来自客户端的 HTTP 请求,并将它们传递给后端服务器
并缓存返回的文档以更好地满足未来对同一文档的请求。
配置
-a
侦听指定地址和端口上的客户端请求。 地址可以是
主机名(“localhost”)、IPv4 点分四组(“127.0.0.1”)或 IPv6 地址
括在方括号中(“[::1]”)。 如果没有指定地址, 清漆 将
侦听所有可用的 IPv4 和 IPv6 接口。 如果未指定端口,则为端口 80
(http) 被使用。 可以为侦听套接字设置附加协议类型
与原。 有效的协议类型是:HTTP/1(默认)和 PROXY。 多种的
可以使用多个 -a 参数指定侦听地址。
-b
使用指定的主机作为后端服务器。 如果未指定端口,则默认为
8080.
-C 打印编译成C语言的VCL代码并退出。 指定要编译的VCL文件
使用 -f 选项。
-d 启用调试模式:父进程使用 CLI 在前台运行
stdin/stdout 上的连接,并且子进程必须显式启动
CLI 命令。 终止父进程也将终止子进程。
-F 不要分叉,在前台运行。
-f 配置
使用指定的 VCL 配置文件而不是内置默认值。 看
VCL(7) 有关 VCL 语法的详细信息。
当既没有给出 -f 也没有给出 -b 参数时, 清漆 不会启动工人
处理但处理 cli 命令。
-h
指定哈希算法。 看 哈希 算法 可选项 支持列表
算法。
-i 身分
指定 Varnish 服务器的身份。 这可以使用访问
服务器.身份 来自 VCL。
-j
指定要使用的监狱技术。
-l
指定 shmlog 文件的大小。 vsl 是 VSL 记录 [80M] 和 vsm 的空间
是统计计数器的空间 [1M]。 可以使用缩放后缀,如“K”和“M”
高达 (G) 千兆字节。 默认值为 81 兆字节。
-M
连接到此端口并提供命令行界面。 把它想象成一个
反向外壳。 当使用 -M 运行并且没有后端定义子项时
进程(缓存)最初不会启动。
-n 姓名
指定此实例的名称。 除其他外,此名称用于
构造目录的名称 清漆 保留临时文件和
持久状态。 如果指定的名称以正斜杠开头,则为
解释为应该用于此的目录的绝对路径
目的。
-P 文件
将进程的PID写入指定文件。
-p
将param指定的参数设置为指定值,见 列表 of 参数
详情。 此选项可以多次使用以指定多个参数。
-r
将列出的参数设为只读。 这为系统管理员提供了一种方法
限制 Varnish CLI 的功能。 考虑制作参数,例如 cc_命令,
vcc_allow_inline_c 和 vmod_dir 只读,因为这些可能用于
从 CLI 提升权限。
-S 文件
包含用于授权访问管理的机密的文件的路径
港口。 如果未提供,将从系统 PRNG 中提取新的机密。
-s <[name=]type[,options]>
使用指定的存储后端,见 后端 可选项.
此选项可以多次使用以指定多个存储文件。 名字是
在日志、VCL、统计等中引用。
-T
在指定的地址和端口上提供管理接口。 看 管理团队
接口 获取管理命令列表。
-t TTL 指定缓存对象的默认生存时间 (TTL)。 这是一个快捷方式
指定 默认_ttl 运行时参数。
-V 显示版本号并退出。
-W 服务员
指定要使用的服务员类型。
哈希 算法 可选项
以下哈希算法可用:
-h 暴击
自缩放树结构。 Varnish Cache 2.1 中的默认哈希算法和
向前。 与更传统的 B 树相比,critbit 树几乎
完全无锁。 除非您确定自己在做什么,否则不要更改此设置。
-h 简单列表
一个简单的双向链表。 不推荐用于生产用途。
-h
一个标准的哈希表。 散列键是对象 URL 的 CRC32 模数
哈希表的大小。 每个表条目指向一个共享元素的列表
相同的哈希键。 buckets 参数指定了
哈希表。 默认值为 16383。
后端 可选项
以下存储类型可用:
-s
malloc 是一个基于内存的后端。
-s
文件后端将数据存储在磁盘上的文件中。 该文件将被访问使用
映射。
路径是强制性的。 如果路径指向一个目录,一个临时文件将是
在该目录中创建并立即取消链接。 如果路径指向一个
不存在的文件,该文件将被创建。
如果省略 size ,并且 path 指向大小大于的现有文件
零,将使用该文件的大小。 如果不是,则报告错误。
粒度设置分配块大小。 默认为系统页面大小或
文件系统块大小,以较大者为准。
-s
持久存储。 Varnish 会以某种方式将对象存储在文件中
确保生存 最先进的 计划或计划外的对象
关闭清漆。 持久存储后端存在多个问题,并且
可能会从 Varnish 的未来版本中删除。
监狱 可选项
清漆监狱是对各种平台特定方法的概括,以减少
清漆进程的特权。 他们可能有特定的选择。 可用的监狱是:
-j 在solaris
减少 权限(5) 清漆 和子过程到最低要求的集合。
仅在具有 设置权限(2) 呼叫。
-j
在所有其他平台上默认,如果 清漆 要么以有效的 uid 开头
0 ("作为 root") 或作为用户 漆.
随着 UNIX 监狱技术激活,清漆将切换到另一个用户
用于子进程并在任何时候更改主进程的有效 uid
可能。
可选的 用户 参数指定要使用的替代用户。 它默认为
漆
可选的 cc组 参数指定要添加到清漆子进程的组
需要访问 c 编译器。 没有默认值。
-j 没有
最后的监狱选择:使用监狱技术 没有, varnish 将运行所有进程
使用它开始的特权。
管理团队 接口
如果指定了 -T 选项, 清漆 将提供命令行管理界面
指定的地址和端口。 连接到命令行的推荐方式
管理界面是通过 清漆(1)。
可用的命令记录在 漆(7)。
跑 时间 有无库存
运行 时间 产品型号 旗
运行时参数用速记标志标记以避免重复相同的文本
并在下表中。 标志的含义是:
· 试验
我们没有关于此参数的好/坏/最佳值的可靠信息。 回馈
最欢迎有经验和观察的人。
· 延迟
此参数可以即时更改,但不会立即生效。
· 重新开始
在此参数生效之前,必须停止并重新启动工作进程。
· 重载
必须重新加载 VCL 程序才能使该参数生效。
· 试验
我们不太确定这个参数,告诉我们你发现了什么。
· 巫师
不要触摸,除非你 真 知道你在做什么。
· 只有_root
仅适用于 清漆 以 root 身份运行。
默认 价值观 例外 on 32 位 系统
请注意,在 32 位系统上,某些默认值相对于值减少了
下面列出,为了节省 VM 空间:
· 工作空间客户端:16k
· thread_pool_workspace:16k
· http_resp_size:8k
· http_req_size:12k
· gzip_stack_buffer:4k
· thread_pool_stack:64k
列表 of 参数
如果您使用
param.show 命令:
接受过滤器
· 单位:bool
· 默认值:关闭
· 标志:must_restart
启用内核接受过滤器(如果在内核中可用)。
接受器睡眠衰减
· 默认值:0.9
· 最小值:0
· 最大:1
· 标志:实验性
如果我们耗尽资源,例如文件描述符或工作线程,则接受者将
睡眠之间接受。 此参数(乘法)减少睡眠持续时间
每次成功接受。 (即:0.9 = 减少 10%)
接受器睡眠增量
· 单位:秒
· 默认值:0.000
· 最小值:0.000
· 最大:1.000
· 标志:实验性
如果我们耗尽资源,例如文件描述符或工作线程,则接受者将
睡眠之间接受。 这个参数控制我们睡多久,每次失败
接受新的连接。
接受器睡眠最大
· 单位:秒
· 默认值:0.050
· 最小值:0.000
· 最大:10.000
· 标志:实验性
如果我们耗尽资源,例如文件描述符或工作线程,则接受者将
睡眠之间接受。 此参数限制了尝试之间可以休眠的时间
接受新的连接。
自动重启
· 单位:bool
· 默认值:开
如果它死了,自动重新启动子/工作进程。
后端空闲超时
· 单位:秒
· 默认值:60.000
· 最小值:1.000
在我们关闭未使用的后端连接之前超时。
禁止复制
· 单位:bool
· 默认值:开
添加新禁令时,消除旧的相同禁令。 这通过不节省 CPU 周期
将对象与相同的禁令进行比较。 如果你有很多禁令,这就是浪费时间
永远不会相同。
禁止潜伏者年龄
· 单位:秒
· 默认值:60.000
· 最小值:0.000
禁令潜伏者将无视禁令,直到它们变老。 添加禁令后,主动
作为对象查找的一部分,将针对它测试流量。 该参数保持
禁止潜伏,直到匆忙结束。
ban_lurker_batch
· 默认值:1000
· 最小值:1
禁止潜伏者在检查了这么多对象后休眠 ${ban_lurker_sleep}。 用这个来
如果禁止潜伏者吃掉太多资源,请调整它的速度。
禁止潜伏者睡眠
· 单位:秒
· 默认值:0.010
· 最小值:0.000
禁止潜伏者在检查 ${ban_lurker_batch} 对象后休眠多长时间。 用这个来
如果禁止潜伏者吃掉太多资源,请调整它的速度。 零值将禁用禁令
完全潜伏。
字节之间超时
· 单位:秒
· 默认值:60.000
· 最小值:0.000
我们只在从后端收到的字节之间等待这么多秒,然后再给出
上取。 零值意味着永不放弃。 VCL 值,每个后端或每个
后端请求优先。 此参数不适用于管道请求。
cc_命令
· 默认:"exec gcc -std=gnu99 -g -O2 -fstack-protector-strong -Wformat
-Werror=格式安全-Wall -Werror -Wno-error=unused-result -pthread -fpic -shared
-Wl,-x -o %o %s"
· 标志:must_reload
用于将 C 源代码编译为 打开(3) 可加载对象。 任何
字符串中出现的 %s 将被替换为源文件名,而 %o 将被替换
替换为输出文件名。
cli_buffer
· 单位:字节
· 默认:8k
· 最低:4k
CLI 命令输入的缓冲区大小。 如果你有很大的 VCL,你可能需要增加这个
文件并使用 vcl.inline CLI 命令。 注意:必须用 -p 指定才能生效。
cli_limit
· 单位:字节
· 默认:48k
· 最低:128b
· 最大值:99999999b
CLI 响应的最大大小。 如果响应超过此限制,响应代码将
是 201 而不是 200,最后一行将指示截断。
cli_超时
· 单位:秒
· 默认值:60.000
· 最小值:0.000
孩子对来自 mgt_param 的 CLI 请求的回复超时。
时钟偏差
· 单位:秒
· 默认值:10
· 最小值:0
我们愿意在后端和我们自己的时钟之间接受多少时钟偏差。
连接超时
· 单位:秒
· 默认值:3.500
· 最小值:0.000
后端连接的默认连接超时。 我们只尝试连接到后端
在放弃之前的这几秒钟。 VCL 可以为每个
后端和后端请求。
暴击冷却时间
· 单位:秒
· 默认值:180.000
· 最小值:60.000
· 最大:254.000
· 标志:向导
critbit hasher 将删除的 objheads 保留在冷却列表上的时间。
调试
· 默认值:无
启用/禁用各种调试。
没有 禁用所有调试
使用 +/- 前缀设置/重置单个位:
请求状态
VSL 请求状态引擎
工作空间
VSL 工作区操作
服务员 VSL 服务员内部结构
等候名单
VSL 等候名单事件
同步vsl
使 VSL 同步
散列
哈希中的边缘情况
虚拟机 快速 VCL 发布
潜伏者 VSL禁止潜伏者
esi_chop
将 ESI 提取切割为位
冲洗头
在 http1 头后刷新
vtc_模式
清漆测试模式
见证
发出 WITNESS 锁定记录
vsm_keep
重新启动时保留 VSM 文件
默认宽限期
· 单位:秒
· 默认值:10.000
· 最小值:0.000
· 标志:obj_sticky
默认宽限期。 我们将在物品过期后这么长时间交付,前提是
另一个线程正在尝试获取新副本。
默认_保持
· 单位:秒
· 默认值:0.000
· 最小值:0.000
· 标志:obj_sticky
默认保留期。 我们会将无用的对象保留这么长时间,使其可用
用于有条件的后端提取。 这意味着该对象将从
在 ttl+grace+keep 末尾缓存。
默认_ttl
· 单位:秒
· 默认值:120.000
· 最小值:0.000
· 标志:obj_sticky
如果后端和 VCL 代码均未分配 TTL,则分配给对象的 TTL。
特集
· 默认值:无
启用/禁用各种次要功能。
没有 禁用所有功能。
使用 +/- 前缀启用/禁用单个功能:
短恐慌
简短的恐慌信息。
等待筒仓
等待持久的筒仓。
无核心转储
没有核心转储。
esi_ignore_https
在 ESI:includes 中将 HTTPS 视为 HTTP
esi_disable_xml_check
不要检查身体看起来像 XML
esi_ignore_other_elements
忽略非 esi XML 元素
esi_删除_bom
删除 UTF-8 BOM
获取块大小
· 单位:字节
· 默认:16k
· 最低:4k
· 标志:实验性
fetcher 使用的默认块大小。 这应该比大多数对象大
TTL 短。 storage_file 模块中的内部限制使得增加到 128kb 以上
可疑的想法。
fetch_maxchunksize
· 单位:字节
· 默认:0.25G
· 最低:64k
· 标志:实验性
我们尝试从存储分配的最大块大小。 使这个太大可能会导致
延迟和存储碎片。
第一个字节超时
· 单位:秒
· 默认值:60.000
· 最小值:0.000
从后端接收第一个字节的默认超时。 我们只等了这么多秒
放弃前的第一个字节。 值为 0 意味着它永远不会超时。 VCL 可以
为每个后端和后端请求覆盖此默认值。 这个参数不
适用于管道。
gzip_缓冲区
· 单位:字节
· 默认:32k
· 最低:2k
· 标志:实验性
用于 gzip 处理的 malloc 缓冲区大小。 这些缓冲区用于在途
数据,例如发送给客户端的压缩数据。使这个空间变小
导致更多的开销,写入套接字等,使其太大可能只是一个
浪费内存。
gzip_level
· 默认值:6
· 最小值:0
· 最大:9
Gzip 压缩级别:0=调试,1=快速,9=最佳
gzip_内存级别
· 默认值:8
· 最小值:1
· 最大:9
Gzip 内存级别 1=慢/最少,9=快速/最多压缩。 内存影响是 1=1k, 2=2k, ...
9 = 256k。
http_gzip_支持
· 单位:bool
· 默认值:开
启用 GZIP 支持。 在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 启用 漆 请求 压缩 对象 , 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 后端 和
商店 他们 压缩。 If a 客户 不 而不去 支持 GZIP 编码 漆 将 解压
压缩 对象 on 的需求。 漆 将 还 改写 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 接受编码 头 of
客户 说明 支持 HPMC胶囊 GZIP 到:
接受编码:gzip
不支持 gzip 的客户端将删除其 Accept-Encoding 标头。 更多
有关 gzip 是如何实现的信息,请参阅 Varnish 中关于 gzip 的章节
参考。
http_max_hdr
· 单位:标题行
· 默认值:64
· 最小值:32
· 最大:65535
{req|resp|bereq|beresp}.http(obj.http 是
自动调整到标题的确切数量)。 便宜,约 20 字节,就工作空间而言
记忆。 请注意,第一行占据五个标题行。
http_range_support
· 单位:bool
· 默认值:开
启用对 HTTP 范围标头的支持。
http_req_hdr_len
· 单位:字节
· 默认:8k
· 最低:40b
我们将允许的任何 HTTP 客户端请求标头的最大长度。 限额包括在内
它的延续线。
http_req_size
· 单位:字节
· 默认:32k
· 最低:0.25k
我们将处理的 HTTP 客户端请求的最大字节数。 这是对所有人的限制
字节到结束 HTTP 请求的双空行。 请求的内存
从客户端工作区分配(参数:workspace_client)并且此参数限制
请求允许占用多少。
http_resp_hdr_len
· 单位:字节
· 默认:8k
· 最低:40b
我们将允许的任何 HTTP 后端响应标头的最大长度。 限额包括在内
它的延续线。
http_resp_size
· 单位:字节
· 默认:32k
· 最低:0.25k
我们将处理的 HTTP 后端响应的最大字节数。 这是一个限制
直到结束 HTTP 请求的双空行的所有字节。 的记忆
请求是从后端工作区(参数:workspace_backend)分配的,这个
参数限制了请求允许占用的数量。
空闲发送超时
· 单位:秒
· 默认值:60.000
· 最小值:0.000
· 标志:延迟
等待没有数据发送的时间。 如果在这多秒内没有传输任何数据
会话已关闭。 看 套票(2) 在 SO_SNDTIMEO 下获取更多信息。
听深度
· 单位:连接
· 默认值:1024
· 最小值:0
· 标志:must_restart
侦听队列深度。
lru_间隔
· 单位:秒
· 默认值:2.000
· 最小值:0.000
· 标志:实验性
对象在 LRU 列表上移动之前的宽限期。 对象只移动到前面
LRU 列表,如果它们尚未在此超时期限内移动到那里。 这个
减少了 LRU 列表访问所需的锁定操作数量。
最大esi深度
· 单位:级别
· 默认值:5
· 最小值:0
esi:include 处理的最大深度。
最大重启次数
· 单位:重启
· 默认值:4
· 最小值:0
请求可以重新启动的次数上限。 请注意,重新启动可能会
对后端造成冲击,所以不要轻率地增加。
最大重试次数
· 单位:重试
· 默认值:4
· 最小值:0
后端提取可以重试的次数上限。
核武器限制
· 单位:分配
· 默认值:50
· 最小值:0
· 标志:实验性
为了给物体腾出空间,我们尝试核对的最大物体数量。
PCRE_匹配_限制
· 默认值:10000
· 最小值:1
pcre_exec() 中调用内部 match() 函数的次数限制。
(请参阅:pcre 文档中的 PCRE_EXTRA_MATCH_LIMIT。)
此参数限制了正则表达式匹配可以占用的 CPU 时间。
PCRE_匹配_限制_递归
· 默认值:20
· 最小值:1
pcre_exec() 中内部 match() 函数的递归深度限制。
(请参阅:pcre 文档中的 PCRE_EXTRA_MATCH_LIMIT_RECURSION。)
这对 PCRE 使用的某些类别的堆栈数量设置了上限
常用表达。
我们将默认值设置得较低以防止崩溃,但代价是可能的
正则表达式匹配失败。
匹配失败将在日志中显示为带有正则表达式错误 -27 的 VCL_Error 消息或
-21。
测试用例 r01576 在调整此参数时很有用。
ping_interval
· 单位:秒
· 默认值:3
· 最小值:0
· 标志:must_restart
从父级到子级的 ping 之间的间隔。 零将完全禁用 ping,这
可以将调试器附加到孩子身上。
管道超时
· 单位:秒
· 默认值:60.000
· 最小值:0.000
PIPE 会话的空闲超时。 如果在任何一个方向都没有收到任何信息
几秒钟后,会话关闭。
请求池
· 默认值:10,100,10
每个工作池请求内存池的参数。 这三个数字是:
最小池
空闲池的最小大小。
最大池
空闲池的最大大小。
最大年龄
自由元素的最大年龄。
池会话
· 默认值:10,100,10
每个工作池会话内存池的参数。 这三个数字是:
最小池
空闲池的最小大小。
最大池
空闲池的最大大小。
最大年龄
自由元素的最大年龄。
池_vbo
· 默认值:10,100,10
后端对象获取内存池的参数。 这三个数字是:
最小池
空闲池的最小大小。
最大池
空闲池的最大大小。
最大年龄
自由元素的最大年龄。
首选ipv6
· 单位:bool
· 默认值:关闭
连接到同时具有 IPv6 和 IPv4 地址的后端时,首选 IPv6 地址。
rush_exponent
· 单位:每个请求的请求数
· 默认值:3
· 最小值:2
· 标志:实验性
我们为对象上的每个已完成请求启动了多少暂停请求。 注意:即使有
交付的隐式延迟,此参数控制数量的指数增长
工作线程。
发送超时
· 单位:秒
· 默认值:600.000
· 最小值:0.000
· 标志:延迟
发送客户端连接超时。 如果 HTTP 响应没有在此传输
会话关闭的秒数。 看 套票(2) 在 SO_SNDTIMEO 下查看更多
信息。
最大会话数
· 单位:届
· 默认值:100000
· 最小值:1000
在丢弃之前我们将从一个池中分配的最大会话数
连接。 这主要是一种反 DoS 措施,不应将其设置得过高
伤害,只要你有它的记忆。
shm_reclen
· 单位:字节
· 默认值:255b
· 最低:16b
· 最大:4084
vsl_reclen 的旧名称,改用它。
短暂的
· 单位:秒
· 默认值:10.000
· 最小值:0.000
使用 (ttl+grace+keep) 创建的对象比这更短,总是被置于瞬态
存储。
信号段处理程序
· 单位:bool
· 默认值:开
· 标志:must_restart
安装一个信号处理程序,它试图转储有关分段错误、总线的调试信息
错误和中止信号。
syslog_cli_traffic
· 单位:bool
· 默认值:开
将所有 CLI 流量记录到系统日志 (LOG_INFO)。
tcp_keepalive_intvl
· 单位:秒
· 默认值:75.000
· 最小值:1.000
· 最大:100.000
· 标志:实验性
TCP 保持活动探测之间的秒数。
tcp_keepalive_probes
· 单位:探针
· 默认值:9
· 最小值:1
· 最大:100
· 标志:实验性
在放弃和杀死之前要发送的 TCP 保持活动探测的最大数量
如果没有收到另一端的响应,则连接。
tcp_keepalive_time
· 单位:秒
· 默认值:7200.000
· 最小值:1.000
· 最大:7200.000
· 标志:实验性
TCP 开始发送之前连接需要空闲的秒数
保持活动的探针。
线程池添加延迟
· 单位:秒
· 默认值:0.000
· 最小值:0.000
· 标志:实验性
创建线程后至少等待这么长时间。
一些(有缺陷的)系统可能需要在创建线程之间有一个短的(亚秒级)延迟。 放
如果您看到 'threads_failed' 计数器增长太多,则需要几毫秒。
将此值设置得太高会导致工作线程不足。
线程池销毁延迟
· 单位:秒
· 默认值:1.000
· 最小值:0.010
· Flags:延迟的,实验性的
销毁线程后等待这么长时间。
这控制空闲时线程池的衰减(-ish)。
线程池失败延迟
· 单位:秒
· 默认值:0.200
· 最小值:0.010
· 标志:实验性
在尝试创建另一个线程之前,在线程创建失败后至少等待这么长时间
线程。
未能创建工作线程通常是结束临近的标志,因为
进程正在耗尽某些资源。 这种延迟试图不急于结束
不必要的。
如果线程创建失败是一个问题,请检查 thread_pool_max 是否太高。
增加thread_pool_timeout和thread_pool_min也可能有助于降低速率
在那里胎面被破坏然后重新创建。
线程池最大值
· 单位:线程
· 默认值:5000
· 最小值:100
· 标志:延迟
每个池中的最大工作线程数。
不要将这个设置得比你必须的高,因为多余的工作线程会占用 RAM 和 CPU
通常只会妨碍完成工作。
线程池最小值
· 单位:线程
· 默认值:100
· 最大:5000
· 标志:延迟
每个池中的最小工作线程数。
增加这可能有助于从低负载情况或线程有
过期。
最少 10 个线程。
线程池堆栈
· 单位:字节
· 默认:48k
· 最低:16k
· 标志:实验性
工作线程堆栈大小。 这可能会四舍五入为 4k 的倍数(或其他任何
page_size 可能是)由内核。
线程池超时
· 单位:秒
· 默认值:300.000
· 最小值:10.000
· Flags:延迟的,实验性的
线程空闲阈值。
超过 thread_pool_min 的线程,至少空闲了这么长时间,将被
毁了。
线程池
· 单位:池
· 默认值:2
· 最小值:1
· Flags:延迟的,实验性的
工作线程池的数量。
增加工作池数量会减少锁争用。
过多的池浪费CPU和RAM资源,每个CPU一个以上的池
可能对性能有害。
可以即时增加,但减少需要重新启动才能生效。
线程队列限制
· 默认值:20
· 最小值:0
· 标志:实验性
每个线程池允许的队列长度。
这设置了我们将排队等待可用线程的请求数。 以上
此限制会话将被丢弃而不是排队。
线程统计率
· 单位:请求
· 默认值:10
· 最小值:0
· 标志:实验性
工作线程累积统计信息,如果
当他们完成一项工作(请求/获取等)时,锁是空闲的。这个参数定义了
工作线程在强制转储之前可以处理的最大作业数
将统计数据累积到全局计数器中。
超时空闲
· 单位:秒
· 默认值:5.000
· 最小值:0.000
客户端连接的空闲超时。 一个连接被认为是空闲的,直到我们有
收到完整的请求标头。
超时_逗留
· 单位:秒
· 默认值:0.050
· 最小值:0.000
· 标志:实验性
工作线程在将其交给空闲会话之前会在空闲会话上停留多长时间
服务员。 当会话被重用时,多达一半的重用发生在第一个
前一个请求完成的 100 毫秒。 将此设置得太高会导致工人
线程没有为他们的保持做任何事情,将它设置得太低只会意味着更多
会绕着服务员绕道。
vcc_allow_inline_c
· 单位:bool
· 默认值:关闭
允许在 VCL 中使用内联 C 代码。
vcc_err_unref
· 单位:bool
· 默认值:开
未引用的 VCL 对象会导致错误。
vcc_不安全_路径
· 单位:bool
· 默认值:开
在 vmod 中允许使用“/”并包含路径。 允许“导入...从...”。
vcl_冷却时间
· 单位:秒
· 默认值:600.000
· 最小值:0.000
VCL 更换为活动 VCL 后保温多长时间(粒度
约 30 秒)。
vcl目录
· 默认值:/etc/varnish
相对 VCL 文件名的目录(或以冒号分隔的目录列表)
(vcl.load 和 include) 将被找到。
vmod_dir
· 默认:/usr/lib/x86_64-linux-gnu/varnish/vmods
要找到 VMOD 的目录(或以冒号分隔的目录列表)。
vsl_缓冲区
· 单位:字节
· 默认:4k
· 最小值:267
专用于缓冲 VSL 记录的(req-/backend-)工作区字节数。 也设置这个
内存成本过高,将其设置得太低会导致更多 VSL 刷新并可能增加
VSL 互斥锁上的锁争用。
最小值跟踪 vsl_reclen 参数 + 12 字节。
vsl_掩码
· 默认值:-VCL_trace、-WorkThread、-Hash、-VfpAcct
屏蔽单个 VSL 消息不被记录。
默认
设置默认值
在 VSL 标记名称前使用 +/- 前缀,以屏蔽/取消屏蔽单个 VSL 消息。
vsl_reclen
· 单位:字节
· 默认值:255b
· 最低:16b
· 最大值:4084b
SHM 日志记录中的最大字节数。
最大跟踪 vsl_buffer 参数 - 12 字节。
vsl空间
· 单位:字节
· 默认:80M
· 最小:1M
· 标志:must_restart
为 VSM 内存段中的 VSL fifo 缓冲区分配的空间量。 如果你
让它太小,varnish{ncsa|log} 等将无法跟上。 也在做
大只是消耗内存资源。
vsm_空间
· 单位:字节
· 默认:1M
· 最小:1M
· 标志:must_restart
为 VSM 内存段中的统计计数器分配的空间量。 如果你使
这个太小了,有些计数器会看不见。 让它太大只会消耗内存
资源。
工作空间后端
· 单位:字节
· 默认:64k
· 最低:1k
· 标志:延迟
后端 HTTP 请求/响应的 HTTP 协议工作区字节数。 如果大于 4k,请使用
4k 的倍数以提高 VM 效率。
工作空间客户端
· 单位:字节
· 默认:64k
· 最低:9k
· 标志:延迟
客户端 HTTP 请求/响应的 HTTP 协议工作区的字节数。 如果大于 4k,请使用
4k 的倍数以提高 VM 效率。
工作空间会话
· 单位:字节
· 默认:0.50k
· 最低:0.25k
· 标志:延迟
会话结构和工作空间的分配大小。 工作区主要用于
用于 TCP 连接地址。 如果大于 4k,请使用 4k 的倍数以提高 VM 效率。
工作空间_线程
· 单位:字节
· 默认:2k
· 最低:0.25k
· 最大:8k
· 标志:延迟
每个线程的辅助工作区字节数。 此工作区用于某些临时
工作线程运行期间的数据结构。 一种用途是用于 io-vectors
将请求和响应写入套接字,空间太小会导致更多
写(2) 系统调用,太多只会浪费空间。
退出 编码
在大多数情况下,清漆和捆绑工具将使用以下代码之一退出
· 0 OK
· 1 一些可能与系统相关和/或瞬态的错误
· 2 严重的配置/参数错误-用相同的配置重试/
参数很可能没用
这个 清漆 主进程也可以或它的退出代码
· 和 0x20 当 清漆 子进程死了,
· 和 0x40 当 清漆 子进程被一个信号终止,并且
· 和 0x80 当核心被倾倒时。
使用 onworks.net 服务在线使用 varnishd
