Site updated: 2022-10-17 16:41:25

This commit is contained in:
qinglong
2022-10-17 16:41:26 +08:00
parent 6bac9e6422
commit f4a68a10f8
59 changed files with 89 additions and 92 deletions

View File

@ -46,24 +46,24 @@ echo never > /sys/kernel/mm/transparent_hugepage/enabled
<ol start="3">
<li>修复 TCP 警告</li>
</ol>
<pre><code class="language-conf">sysctl net.core.somaxconn=1024立即生效
<pre><code class="language-bash">sysctl net.core.somaxconn=1024立即生效
修改/etc/sysctl.conf添加net.core.somaxconn=1024
客户端的输出缓冲区的限制,因为某种原因客户端从服务器读取数据的速度不够快,可用于强制断开连接(一个常见的原因是一个发布 / 订阅客户端消费消息的速度无法赶上生产它们的速度)。
</code></pre>
<ol start="4">
<li>客户端缓冲区限制</li>
</ol>
<pre><code class="language-conf">客户端的输出缓冲区的限制,因为某种原因客户端从服务器读取数据的速度不够快,可用于强制断开连接(一个常见的原因是一个发布 / 订阅客户端消费消息的速度无法赶上生产它们的速度)。
可以三种不同客户端的方式进行设置:
normal -> 正常客户端
slave -> slave 和 MONITOR 客户端
pubsub -> 至少订阅了一个 pubsub channel 或 pattern 的客户端
每个 client-output-buffer-limit 语法 :
语法 :
client-output-buffer-limit <class><hard limit> <soft limit> <soft seconds>
一旦达到硬限制客户端会立即断开,或者达到软限制并保持达成的指定秒数(连续)。
例如,如果硬限制为 32 兆字节和软限制为 16 兆字节 /10 秒,客户端将会立即断开。如果输出缓冲区的大小达到 32 兆字节,客户端达到 16 兆字节和连续超过了限制 10 秒,也将断开连接。默认 normal 客户端不做限制,因为他们在一个请求后未要求时(以推的方式)不接收数据,
只有异步客户端可能会出现请求数据的速度比它可以读取的速度快的场景。
</code></pre>
<ol start="4">
<li>把硬限制和软限制都设置为 0 来禁用该特性</li>
</ol>
<pre><code class="language-conf">client-output-buffer-limit normal 0 0 0
把硬限制和软限制都设置为 0 来禁用该特性
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 5gb 512mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
</code></pre>
@ -77,7 +77,6 @@ save 900 1 #900秒内有1次更新就持久化
save 300 10 #300秒内有10次更新就持久化
save 60 10000 #60秒内有10000次更新就持久化
---关闭RDB持久化---
主从同步支持两种策略即disk和socket方式。
新的slave端和重连的salve端不允许去继续同步进程这被称之为“完全同步”。
一个RDB文件从master端传到slave端分为两种情况