tid=66248& 本帖最後由 IT_man 於 2017-8-29 14:56 編輯 : T9 e& U' s9 ?- _
o2 g7 J9 A+ s0 c0 ]; P& J( G
Linux 預設是沒有下述的調整,因此我們必須進行最佳化的調整:
# Q+ p. x# t7 T* Q; z0 s! W! M0 T! F
#vi /etc/sysctl.conf* E+ v9 i( |* W, |: j0 R, M h# H
### 改進系統記憶體管理 ###+ q" ?1 @; V! ]2 t% x
: \; J5 y8 S3 s4 T3 k
" r! u& ?. T& n; O% x) i2 G
# 加大檔案處理及inode快取4 ^) J* M6 Y W, C4 }6 W9 j
fs.file-max = 20971521 B# G5 k" v! J1 c
# L) z/ M, R2 P3 \
- e% Z1 c V8 `" H5 E7 ^2 f* k
# 較少的交換; c" T( l4 m/ j
vm.swappiness = 10
# h! S1 o8 ~& ]' ?+ _& Cvm.dirty_ratio = 60. i; E9 G& n6 b% q
vm.dirty_background_ratio = 2* J! [* M# {0 ]" O! |5 K1 y& w
% B- y: H+ I& @8 V
3 }, r9 @% Q3 E O( s, y% _
### 一般的網路安全選項 ###, I2 _4 u! y' U9 [" O# y
8 U0 B" C1 ^% L
+ A; n0 a C" P: A$ R4 x# |# 被動(passive)TCP連接的SYNACKs次數
4 L6 H. q, Y1 Jnet.ipv4.tcp_synack_retries = 2
' R- h9 ?/ r' N# a9 _/ B4 _' K. i2 \2 U% T" E2 n. a
, ?0 O# l" a# ~+ G% I$ q# 允許本機網路連接阜範圍# }% a8 d8 W8 U5 {. {
net.ipv4.ip_local_port_range = 2000 65535# H% i) c4 t3 ?1 T
$ K. F: J8 P7 k8 U+ O
6 p0 C" l% V; ~$ I+ L# 反制TCP Time-Wait的保護8 t# S7 e2 v' @( K1 |
net.ipv4.tcp_rfc1337 = 1
" {& _" p3 H1 x" M4 P5 J Z1 L0 w8 V- Z/ n9 T3 L
, _ J( q4 ?/ u, q$ B5 @7 h3 e3 h- t
# 降低對 tcp_fin_timeout connection 時間的預設值
0 N6 C$ S# k8 {3 U% P& t0 Gnet.ipv4.tcp_fin_timeout = 15
" g6 l; C( D, a. }! C4 a$ L' g4 T T9 y% T5 I0 t
/ |7 d4 o5 E, V' [
# 降低連線存活時間的預設值4 D( V0 o2 F) K4 o8 U
net.ipv4.tcp_keepalive_time = 300
6 O% c) B! D3 R' y" o. lnet.ipv4.tcp_keepalive_probes = 5
, I- w* ?' B6 p7 cnet.ipv4.tcp_keepalive_intvl = 15
3 u3 v4 G0 l- ^( l9 i: F) b# ]5 E- v9 K$ Q+ Y) x+ Z/ [
- L( _7 k0 G( E: }, y### 調整網路效能 ###1 p' c3 J, Y- S8 s( x; g
+ I: s; |; }- V6 R
2 D# {3 |% F5 T) F" a# N% K# 預設的Socket接收緩存- j9 E3 f' ]: C% n$ L, w1 d
net.core.rmem_default = 31457280
# w. R- ~, g8 X) {7 D, F1 v$ n$ @# |) x) z! N. e
1 v; V1 W1 M2 ^1 U# 最大的Socket接收緩存
& h7 K8 ?4 c4 Gnet.core.rmem_max = 12582912 O; V" ^! R+ d! L: }4 a0 D
; O4 p; {8 p' J4 v% }# j# a" C
4 A. r& u8 v, N# w% |7 G, R# 預設的Socket傳送緩存
7 `% z& ~! {9 i; V* Y+ j0 d& e) s2 B% {net.core.wmem_default = 31457280
`, ~! H. Q" v; V2 o( C% t. {5 H7 X4 u% I
4 x5 _. ]0 Q) u1 U4 _, x" e/ u
# 最大的Socket傳送緩存
8 i$ D- O3 f" n' X# `: @, ]% hnet.core.wmem_max = 12582912
9 [) C) o+ m$ S0 u7 h& u. w( r+ Z) X9 U
6 u) L7 v1 t) n# 加大網路連入數" u6 W5 }* h n6 W3 X& u
net.core.somaxconn = 4096
8 v- B% z, U' T/ n) ^% F6 }5 p9 w- L" m a
* o" a9 B2 b% \# 加大網路連入的backlog
7 }% t* I, F' q2 D0 i+ ?net.core.netdev_max_backlog = 655367 J% K& @ V: W0 t2 @3 d/ p
5 }7 F$ e p- k& z8 P" X' J3 e. w' ?* h1 E. s
# 加大記憶體緩存的最大量% \6 m! [4 F7 w
net.core.optmem_max = 25165824
" R- G# M, N( X) I* q. h
2 @' o5 G: Y6 [7 c2 `
) s! E& B1 m+ ~+ D. J# Increase the maximum total buffer-space allocatable加大可定址緩存空間的最大總量
; [; E: B/ D/ {# This is measured in units of pages (4096 bytes)
& {- n* }' d' q+ R0 T. snet.ipv4.tcp_mem = 65536 131072 2621441 _5 k7 c- ^2 M2 h8 X. u z
net.ipv4.udp_mem = 65536 131072 2621449 P/ L- l6 g! W/ \" O5 r, v" q* S6 L
/ B# v% E* `* K' S5 y p8 K
. F1 V+ G+ }1 ~) E* _4 y/ { X% j
# 加大讀取緩存可定址空間
# R8 C: \; x' _0 \* V6 Enet.ipv4.tcp_rmem = 8192 87380 16777216
3 _, w! H( \0 `net.ipv4.udp_rmem_min = 16384& C4 t& e9 z. x
: N% |+ y _- y+ ~! S+ y
; ~) V. S+ v/ I0 r' T" V+ j# 加大寫入緩存可定址空間
5 B Y( a0 _1 [( A }7 enet.ipv4.tcp_wmem = 8192 65536 16777216
% I! g7 o1 a$ ~: y& z; r* k' _net.ipv4.udp_wmem_min = 16384
% c. L- t1 @6 z3 r- a& l" n
1 h4 ]; y1 W! M% J& g; [$ r9 l$ q2 r8 l: p8 n& z+ V, Y& D
# 加大tcp-time-wait桶子池區數量以預防簡易的DOS攻擊
1 L7 {+ Y" T& H2 t4 [net.ipv4.tcp_max_tw_buckets = 1440000$ c% ~ b4 O" Y
net.ipv4.tcp_tw_recycle = 1
8 G2 x8 A" d( q8 u9 v5 Jnet.ipv4.tcp_tw_reuse = 1
% U. l4 M/ z- e0 A: T+ ]( i) l: \ T' Y
$ o+ h. i+ n6 y7 `3 G% R# ]4 F
存檔以生效+ _/ m+ [+ D6 ~7 P' n
#sysctl -p 載入已變更
; U* \1 H/ X9 v b5 C) t! W9 L. A$ f# A. [0 H C$ T
9 P: w/ P# J: ], p: X V
參考來源:9 M" Z9 K5 q7 b/ L9 C
" |) I# o5 S1 w/ e2 L
' c( Z% S! }, F& S9 A7 h5 E. d; G
https://easyengine.io/tutorials/linux/sysctl-conf// K# ^% m+ |2 s, a5 h
* j1 d( F) ]7 | ^$ ~. t
# z0 H$ |: T9 V/ O S( M
. e6 O Z2 B, H+ \, H1 y
i n6 L- k( R) \0 W/ N |