tid=66248& 本帖最後由 IT_man 於 2017-8-29 14:56 編輯
5 H. D! r+ [) l; p+ W5 }6 U$ H) g- s+ Z/ u( K
Linux 預設是沒有下述的調整,因此我們必須進行最佳化的調整:
9 M" A3 l: X3 g+ I) H' t* h5 ]. r" I4 F8 ^8 @
#vi /etc/sysctl.conf6 V. V8 h0 Y$ \: `* g. W9 `
### 改進系統記憶體管理 ###! ]4 [" a' Y4 E, [
# q8 y5 y& u, v0 `' Q Z% n/ Y8 f
3 U. \+ q( @( \& g$ M- t8 j' @$ e
# 加大檔案處理及inode快取
* z" z9 a, v/ v/ n' y6 ]# v% Pfs.file-max = 2097152/ f$ A0 F4 j! c+ K+ h
% X- \ @8 s ^6 U
|* R0 `% {' O% e" X# 較少的交換" d, C$ U5 C$ Z9 o% L# W
vm.swappiness = 10
+ p- _; G& l& @# x/ k1 ivm.dirty_ratio = 60* F1 a* K9 K+ b R, x7 ^
vm.dirty_background_ratio = 2
# S( V3 `6 t8 T8 u" G/ k
; a9 j) [# K" l* e
9 y% g9 }& h9 M' n# |### 一般的網路安全選項 ###
Q4 M2 T1 m- o2 u a; J- I& `9 @/ v w' p
. V D6 {3 C+ G, q. Q" [% {# 被動(passive)TCP連接的SYNACKs次數
! H6 ?# ~9 }: V( Xnet.ipv4.tcp_synack_retries = 2
/ A& {( ?5 O5 g t
9 m2 b: l+ b8 G4 c9 b0 b% M; \( K/ y9 d1 V$ {, d- b& P- y
# 允許本機網路連接阜範圍
, @- |8 w7 v- }net.ipv4.ip_local_port_range = 2000 65535
5 R) S, p5 @# a: v6 p# X# W8 @7 j- C) d
1 ~- d0 @7 G5 N. w5 `
# 反制TCP Time-Wait的保護! y D2 M" M, g4 @+ z4 l7 r
net.ipv4.tcp_rfc1337 = 1
4 x0 x4 l0 A) W& L" c
* w: ^6 h; ?1 C# x3 z' w9 j& ]- v2 v1 O: e: o* F
# 降低對 tcp_fin_timeout connection 時間的預設值
6 R" a. [* H# l& ?/ b# qnet.ipv4.tcp_fin_timeout = 15
7 `& f3 a2 G, G+ l* |. ^ U; W# E( A( A1 ~2 f, \+ E1 r
% l; ^0 J6 R* T" j% E9 U
# 降低連線存活時間的預設值
, X8 A' \2 m6 @9 o, Unet.ipv4.tcp_keepalive_time = 3006 K% T2 Q3 N7 U% S* @% L- s
net.ipv4.tcp_keepalive_probes = 5
) p( Z& W P& c! i$ Y- Ynet.ipv4.tcp_keepalive_intvl = 15
1 @! ]. L7 @/ o
7 i; Z% E7 k. u# E9 ^% C
% _7 d; c; k+ v2 v, |. y% j: e### 調整網路效能 ###3 d2 w* i& j7 g0 e3 e$ f
- q/ F+ R% A. a% J
6 I! R' n# R4 C& C% d4 n2 o+ H# 預設的Socket接收緩存5 z/ Y7 x+ U# z" W. q
net.core.rmem_default = 314572802 C9 C( N. y$ D
T8 F9 V4 Z1 y# H9 O4 p; H/ u
4 s% f9 k' a+ z) q
# 最大的Socket接收緩存
- ^" k) x e Inet.core.rmem_max = 12582912* n7 ^* B% P! {# m
- J5 M* _5 _+ b$ W
- c* X9 G# X6 T6 Z# 預設的Socket傳送緩存
8 ~7 }/ Z9 _, Y+ ?5 k4 ]net.core.wmem_default = 31457280
, |1 {- u5 w% ?) L4 k4 D# D1 l) N1 e- y. ]/ |
; a: K! i7 C- w# 最大的Socket傳送緩存
5 @& e$ S1 Y& D1 x2 ?: l1 [net.core.wmem_max = 125829125 h: F/ M& W& L4 o% V6 F' e
' I" a1 q1 g+ n) n4 b$ a: {; o
6 i# S% e/ p ]- v# 加大網路連入數4 ?# J% O8 r+ B, P, v
net.core.somaxconn = 4096
8 I) M* O# n- t9 f' r# ^1 m5 m1 a. K! Z
4 H2 }2 L5 J) L$ c5 j
# 加大網路連入的backlog
% o7 a' e3 O3 Y: a0 [& f5 w1 A) Wnet.core.netdev_max_backlog = 65536( c+ e! @/ Q1 k$ l) q# _3 T* {
% l6 c( X6 o5 O$ A1 P
! H0 B- Z' E. m, _8 m) X$ J3 B" a
# 加大記憶體緩存的最大量3 u1 L' A$ m, B" V3 j
net.core.optmem_max = 25165824( t/ k* B3 a2 l8 L+ Q, D
2 N7 X- e2 p) Q1 D: J" w+ g( D. c1 y5 j3 F
# Increase the maximum total buffer-space allocatable加大可定址緩存空間的最大總量3 l6 w& R h7 F) @3 W: ^7 a k6 K% v' u
# This is measured in units of pages (4096 bytes)/ {+ v# ?) L. X0 j2 `: R
net.ipv4.tcp_mem = 65536 131072 262144
8 X7 F$ j- W1 P$ A- S- }net.ipv4.udp_mem = 65536 131072 262144
+ n6 Y2 x1 s& `/ U+ Z' S9 |" J5 N. \' ?" j% F7 g% P
* i. U) `1 m6 Y; \( j
# 加大讀取緩存可定址空間
1 t8 N* c* B$ H. I2 K) @net.ipv4.tcp_rmem = 8192 87380 16777216
, n, ?* B1 E; [! Y! Gnet.ipv4.udp_rmem_min = 16384
1 G: v# {, \0 T, a+ \0 M7 N8 S0 D% G) W- e& }
/ H9 X, b2 l- ?0 J
# 加大寫入緩存可定址空間8 q+ ^% k% P8 Q* z
net.ipv4.tcp_wmem = 8192 65536 16777216
- E* D6 M i' i( Unet.ipv4.udp_wmem_min = 16384/ o/ Y, d* _7 R2 F5 ?
! A+ g; W5 s( p+ S! X% x+ t# I
5 E: ]( G0 ~% q7 b* }# ]' m# 加大tcp-time-wait桶子池區數量以預防簡易的DOS攻擊
/ H! ]- E/ p D% j4 J5 Q* cnet.ipv4.tcp_max_tw_buckets = 1440000
( O- A; W# D" n$ ^& s0 U' a% f9 G8 qnet.ipv4.tcp_tw_recycle = 1
- A) w/ {7 G1 Z4 B0 a: t& Tnet.ipv4.tcp_tw_reuse = 1
3 l7 F# K, s: F0 f! L3 R; m! x4 d
$ f* d# y/ `2 `/ h1 G) s3 u! S- u$ x9 p9 S; o+ e
存檔以生效2 O+ `. X- y. H0 _! N% a
#sysctl -p 載入已變更! G$ V( L' J5 J' T% m+ T
) I; R, M2 R& ? J" [- [ T
. F; P$ b7 y1 n/ n: H1 b q, b參考來源:
; x& }9 S5 [4 M) Y
+ ~3 O8 a: o3 h9 v, v
; m: }1 `4 t2 I# C0 _. t2 shttps://easyengine.io/tutorials/linux/sysctl-conf/
/ H) n! n! Y5 f* p5 j6 x7 n0 B$ w9 F* Y+ |
7 R n& \- [: r2 _. Y
- q2 |- m T+ _+ t! I% t% [) \; D, j7 ~% Q) l6 U
|