Wener Notes

Tuning

约 2 分钟阅读
标签:调优
bash
getconf PAGE_SIZE

Swap

bash
sysctl vm.swappiness vm.overcommit_memory vm.overcommit_ratio

sysctl vm.dirty_background_ratio vm.dirty_background_bytes
sysctl vm.dirty_ratio vm.dirty_bytes

PostgreSQL

bash
# Shared Memory
# =============
ipcs -l
ipcs -lm # Shared Memory Limits
# ipcs -M # macOS

sysctl kernel.shmmax kernel.shmall

# HugePage
# =============
cat /proc/meminfo | grep -i huge
# HugePages_Total
sysctl vm.nr_hugepages
hpsizeof.sh
#!/bin/bash
pid=`head -1 $PGDATA/postmaster.pid`
echo "Pid:            $pid"
peak=`grep ^VmPeak /proc/$pid/status | awk '{ print $2 }'`
echo "VmPeak:            $peak kB"
hps=`grep ^Hugepagesize /proc/meminfo | awk '{ print $2 }'`
echo "Hugepagesize:   $hps kB"
hp=$((peak/hps))
echo Set Huge Pages:     $hp

haproxy

/etc/sysctl.d/30-haproxy.conf
net.ipv4.tcp_rmem             = 4096 16060 262144 # 减少默认 receive/send buffers
net.ipv4.tcp_wmem             = 4096 16384 262144 #
net.ipv4.tcp_tw_reuse         = 1                 # early reuse of a same source port for outgoing connections
net.ipv4.ip_local_port_range  = 1024 65023        # 增加可用端口
net.ipv4.tcp_max_syn_backlog  = 60000             # 增加 syn backlog
#net.ipv4.tcp_fin_timeout     = 30                # 更早 timeout FIN_WAIT,更快释放 dead conn
net.ipv4.tcp_synack_retries   = 3                 # 减少 SYN-ACK 重试
net.ipv4.ip_nonlocal_bind     = 1                 # 允许 bind 还不存在的 ip
net.core.somaxconn            = 60000             # 至少 tcp_max_syn_backlog

nginx

default.conf

ini
net.ipv4.tcp_rmem           =4096 87380 4194304
net.ipv4.tcp_wmem           =4096 87380 4194304
net.ipv4.tcp_tw_reuse       =0
net.ipv4.ip_local_port_range=32768 61000
net.ipv4.tcp_max_syn_backlog=1024
net.ipv4.tcp_fin_timeout    =60
net.ipv4.tcp_synack_retries =5
net.ipv4.ip_nonlocal_bind   =1
net.core.somaxconn          =128

limits

  • /etc/security/limits.conf

关联信息

反向链接、本文链接的其他页面和外部资料。

References

其他外链5 条
最近更新commit 904be0cEdit

On this page