tid=66248& 本帖最後由 IT_man 於 2017-8-29 14:56 編輯
; {( E+ y$ {# L" e e6 I
0 M7 X' Q W) m6 q6 U# ALinux 預設是沒有下述的調整,因此我們必須進行最佳化的調整:: i6 |$ o. s0 h
8 s* X6 N9 I7 F) K$ W3 n#vi /etc/sysctl.conf! K. }8 W/ f W p9 c
### 改進系統記憶體管理 ###
* U+ T, g4 {. E, U7 w1 r" c' s1 n. {
8 k8 v4 I8 K9 I: u( R# 加大檔案處理及inode快取
4 h# x2 z$ N+ qfs.file-max = 2097152# |% b/ [. [( y! ?1 v6 j/ w
, I! C. X6 \5 p4 R0 E
0 \( b$ ~9 d6 b/ M% Q R' J# 較少的交換& Z1 W, B: B+ `5 l$ L, e' r
vm.swappiness = 10
/ L; }& _) Z gvm.dirty_ratio = 60
* c& I) E6 r0 L/ ^5 h/ o. C( m: L9 ivm.dirty_background_ratio = 2
$ G+ T6 q6 }/ z0 m( K
! d# l& N8 x' P' e
+ S, t, n4 f. s% A& Z### 一般的網路安全選項 ###9 ^8 @( S+ v- C4 I% e
, L% S0 ?2 i9 L* i" u
: ]0 B6 {. \0 K- U J# 被動(passive)TCP連接的SYNACKs次數
3 X8 B; D9 j" N; ?% W ?net.ipv4.tcp_synack_retries = 26 r) K9 j: Z/ U- \
: q0 N1 [' B+ d: o
* |+ K, s |- y" ~2 A
# 允許本機網路連接阜範圍
+ O7 v. `' u+ hnet.ipv4.ip_local_port_range = 2000 655355 {) I8 g6 m6 l' c& t3 D
4 ?- [/ ~7 T# G: ` V
. X0 U; j: w0 t: n! {* d$ Q# 反制TCP Time-Wait的保護7 q- L- V( _# g' U0 }
net.ipv4.tcp_rfc1337 = 16 T" N r# K. |! p9 b7 n
9 a4 i) {, Z8 A4 F* y1 t- G
2 C# O: s, F0 J e# 降低對 tcp_fin_timeout connection 時間的預設值* y) B/ V* E' U5 M# T8 s$ Y/ @' j
net.ipv4.tcp_fin_timeout = 15& ]. z# S z( a* q2 f
J2 x1 `" n. Q# ^8 Y( Q, h; `& i& P( ?' R
# 降低連線存活時間的預設值
! J, M: b# |! i# gnet.ipv4.tcp_keepalive_time = 300
2 i/ s. M% w- H( G- F; _2 @# y& dnet.ipv4.tcp_keepalive_probes = 5
7 u" z& U, R( f8 F; anet.ipv4.tcp_keepalive_intvl = 15/ _5 L8 l1 L3 W. d
- h* S( X4 y4 S6 [. V( r
. W- R! ~2 D3 e1 A### 調整網路效能 ###
2 _& j% R/ h, i! Z) i4 x
% o" B$ w8 [9 V6 D6 r- X1 y: [7 h, F0 K
# 預設的Socket接收緩存
3 O4 w* Y7 [6 H$ h' C2 Nnet.core.rmem_default = 31457280
# `' w- s% L+ l3 J1 F! G7 a9 h# _- o! ]2 E& L: h1 V, Y. m7 {5 Z
7 V$ K2 D. I! }8 c
# 最大的Socket接收緩存2 c$ j) K7 v5 N; a. z% O
net.core.rmem_max = 125829126 O3 o' J" a1 ^
! q' h" p2 o: ?* h w& G! G7 K: R1 q
, ~/ [+ c0 `* d5 H% r# x
# 預設的Socket傳送緩存% [" Q+ |( ^ \) W' l, J' _# d
net.core.wmem_default = 31457280& g R6 v8 A* p( ]; }* b, O) T' e
" D4 ~5 H: k6 j
* f6 y! L0 O6 [# K/ K H/ c' k# 最大的Socket傳送緩存' h3 k2 J7 p( J! j5 X
net.core.wmem_max = 12582912
; L0 L% V8 {. a* F& W
; z: N" ?. E* u& ~1 g1 D
* x# o4 `+ c+ [# 加大網路連入數9 g* E. |7 i" U& K" j
net.core.somaxconn = 4096' m; X/ F ` n& B1 C% ^
( x# y/ }: u6 x
, G5 t* h: o9 F# 加大網路連入的backlog
4 V; s: D+ F& {net.core.netdev_max_backlog = 65536; D7 n; B4 m- w$ h/ G7 c
5 I5 \! s* @ h8 c( A
9 c9 {6 A; [# N3 s) {3 c V# 加大記憶體緩存的最大量- @5 S4 h5 g+ I- Y2 |) P. U
net.core.optmem_max = 25165824
7 h" e: |6 K+ F: l/ J2 d) A8 M h
/ S0 z( t/ @% c+ e7 a# e5 f, a6 q; Z1 u$ f. m% k% H# ?
# Increase the maximum total buffer-space allocatable加大可定址緩存空間的最大總量" d2 q v$ d( u) r- q4 J
# This is measured in units of pages (4096 bytes)+ `! H; H5 ?$ P8 A5 |$ y) u: [1 B
net.ipv4.tcp_mem = 65536 131072 262144
, P, i# U3 L4 O* ]+ hnet.ipv4.udp_mem = 65536 131072 262144
0 h3 p# Z1 h2 w4 x' e- Q
& S* G7 @# g5 {6 l) C" Y. e8 @+ J8 l6 Q
# 加大讀取緩存可定址空間% l; V: g5 u0 m# S
net.ipv4.tcp_rmem = 8192 87380 16777216
; k2 ~+ r! G6 s. B5 nnet.ipv4.udp_rmem_min = 16384
* ?8 `+ \. o/ R7 R4 V% u; P- R, s0 J) X6 Y f
. R/ C- w# K5 c
# 加大寫入緩存可定址空間$ Y/ N( x& n0 E( ^- F4 \0 M
net.ipv4.tcp_wmem = 8192 65536 16777216! |% Y. m" H2 V9 E5 y6 w6 z8 c0 R
net.ipv4.udp_wmem_min = 16384' H6 w) g4 c0 C8 f$ t# Y
; p; ~3 w! q1 J
6 p* m$ H1 p5 v, }# f# 加大tcp-time-wait桶子池區數量以預防簡易的DOS攻擊; e6 r2 O- M4 ^/ U2 z- `
net.ipv4.tcp_max_tw_buckets = 14400001 ~2 E8 y& G9 V' R$ Q9 [
net.ipv4.tcp_tw_recycle = 1
' o" w. ~% n9 k+ a3 ]: Bnet.ipv4.tcp_tw_reuse = 1
0 A1 X, O B! v) I7 X3 ^1 D5 r- [( G8 f" \! z. `
4 T0 O4 P- @4 W, `! Z2 a1 K" K存檔以生效5 z! g. d5 s. e7 W/ J, [3 S) L
#sysctl -p 載入已變更
0 D9 v; d; {1 _0 g) [3 k
0 _3 Z( x% G. E* h0 e. d6 z8 ?* W$ w7 q& g8 h6 ^
參考來源:0 h( T2 s3 q$ W6 `& q& Q
$ ^6 V7 Y* M) Q% f* X
: \4 F+ \1 p" R" ~https://easyengine.io/tutorials/linux/sysctl-conf/- i% x0 j- F4 N) p1 W* u9 y
$ X5 w: v+ O9 K3 K: {, R
$ V# ^3 {2 N+ k( [) P* B' A' P4 n6 ]/ Z0 |! ]5 t
o) ?) {" M4 r& k/ a7 I. `! C |