Site updated: 2022-10-17 16:23:52
This commit is contained in:
20
rss.xml
20
rss.xml
@ -25,7 +25,9 @@
|
||||
<link>https://blog.jingxiyuan.cn/2022/10/17/redis%E4%B8%BB%E4%BB%8E%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/</link>
|
||||
<pubDate>Mon, 17 Oct 2022 14:07:35 +0800</pubDate>
|
||||
<description><![CDATA[ <h4 id="主服务"><a class="anchor" href="#主服务">#</a> 主服务</h4>
|
||||
<h6 id="基础配置"><a class="anchor" href="#基础配置">#</a> 基础配置</h6>
|
||||
<ol>
|
||||
<li>基础配置</li>
|
||||
</ol>
|
||||
<pre><code class="language-conf">port 6379
|
||||
requirepass 123456(密码,建议不设置)
|
||||
vm-enabled no (虚拟内存,内存够的情况下可以不使用)
|
||||
@ -38,12 +40,16 @@ list-compress-depth 20(quicklist的两端多少个node不压缩,0为全部
|
||||
<pre><code class="language-bash">sysctl vm.overcommit_memory=1 (立即生效)
|
||||
修改/etc/sysctl.conf添加vm.overcommit_memory=1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何。Redis的RDB持久化实现是folk一个子进程,然后让子进程将内存镜像dump到RDB文件中。理论上来说是需要跟父进程一样的内存空间,但是由于linux很早就支持的copy-on-write技术,所以实际上并不需要这么多的物理内存的。)
|
||||
</code></pre>
|
||||
<h6 id="禁用透明大页影响性能"><a class="anchor" href="#禁用透明大页影响性能">#</a> 禁用透明大页(影响性能)</h6>
|
||||
<ol start="2">
|
||||
<li>禁用透明大页(影响性能)</li>
|
||||
</ol>
|
||||
<pre><code class="language-bash">需要sudo su 切换到root身份(sudo 没用)
|
||||
echo never &gt; /sys/kernel/mm/transparent_hugepage/enabled
|
||||
修改/etc/init.d/redis-server,加入/bin/echo never &gt; /sys/kernel/mm/transparent_hugepage/enabled
|
||||
</code></pre>
|
||||
<h6 id="修复tcp警告"><a class="anchor" href="#修复tcp警告">#</a> 修复 TCP 警告</h6>
|
||||
<ol start="3">
|
||||
<li>修复 TCP 警告</li>
|
||||
</ol>
|
||||
<pre><code class="language-conf">sysctl net.core.somaxconn=1024(立即生效)
|
||||
修改/etc/sysctl.conf添加net.core.somaxconn=1024
|
||||
客户端的输出缓冲区的限制,因为某种原因客户端从服务器读取数据的速度不够快,可用于强制断开连接(一个常见的原因是一个发布 / 订阅客户端消费消息的速度无法赶上生产它们的速度)。
|
||||
@ -58,12 +64,16 @@ client-output-buffer-limit &lt;class&gt;&lt;hard limit&gt; &
|
||||
例如,如果硬限制为 32 兆字节和软限制为 16 兆字节 /10 秒,客户端将会立即断开。如果输出缓冲区的大小达到 32 兆字节,客户端达到 16 兆字节和连续超过了限制 10 秒,也将断开连接。默认 normal 客户端不做限制,因为他们在一个请求后未要求时(以推的方式)不接收数据,
|
||||
只有异步客户端可能会出现请求数据的速度比它可以读取的速度快的场景。
|
||||
</code></pre>
|
||||
<h6 id="把硬限制和软限制都设置为-0-来禁用该特性"><a class="anchor" href="#把硬限制和软限制都设置为-0-来禁用该特性">#</a> 把硬限制和软限制都设置为 0 来禁用该特性</h6>
|
||||
<ol start="4">
|
||||
<li>把硬限制和软限制都设置为 0 来禁用该特性</li>
|
||||
</ol>
|
||||
<pre><code class="language-conf">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>
|
||||
<h6 id="持久化配置"><a class="anchor" href="#持久化配置">#</a> 持久化配置</h6>
|
||||
<ol start="5">
|
||||
<li>持久化配置</li>
|
||||
</ol>
|
||||
<pre><code class="language-conf">---关闭RDB持久化---
|
||||
save &quot;&quot;
|
||||
默认配置如下:
|
||||
|
Reference in New Issue
Block a user