Linux 預設是沒有下述的調整,因此我們必須進行最佳化的調整:
; F; Y+ i5 m0 U
2 F5 ?5 V! Z! P& H! c" ?! k#vi /etc/sysctl.conf
% Q: C8 l, _8 @( l# G/ a### 改進系統記憶體管理 ###
7 @1 i& J; A* L: k; a! Q! J0 k( l( k: I9 i$ @! V6 `; ]
1 s* N' Z" b0 p+ Z# 加大檔案處理及inode快取
6 K3 }5 ^" f4 X$ wfs.file-max = 2097152. y4 l) y2 I" w# e& q: b- E
3 b" Q& ?* {- c6 z2 @
2 ~! F: r, Y- ~* o& U# 較少的交換
) U/ z; V* I M ^2 t. lvm.swappiness = 10
; I- T% }% B! J' o2 q) `vm.dirty_ratio = 60
8 A% h( S# d6 P# W, H. c+ s# [* Fvm.dirty_background_ratio = 2
( x( y8 q$ d7 T' W4 I4 N8 y6 N
. `7 Z1 T9 x6 p Y+ `
; J; v" [1 x, S, ~### 一般的網路安全選項 ###4 k k6 d% v' i% d
" M4 o9 ~' ]2 A+ b8 ?# H! B- [, Q# i9 P- l0 B" h* {! j& A; L
# 被動(passive)TCP連接的SYNACKs次數1 H3 Z1 [' n3 D+ n5 K& _* h& @ U. \
net.ipv4.tcp_synack_retries = 2* \2 }/ W; |+ c, C! l& n
7 o' \' I6 o- x! |. ^. U2 x; @
$ D9 g0 x% j5 p9 i$ e" r
# 允許本機網路連接阜範圍# w8 f$ ?% }; n
net.ipv4.ip_local_port_range = 2000 655359 q3 Q2 w/ k: f3 ^" \
, `& G& ?" i2 d4 O [ _+ N6 `7 A+ g& `! ?8 o
# 反制TCP Time-Wait的保護# v4 _* B8 g: B! b0 w
net.ipv4.tcp_rfc1337 = 1* t; h* m" ~0 k8 o
6 N% P+ m, }7 v( `! Z) K; @8 h( Q- S" p2 J
# 降低對 tcp_fin_timeout connection 時間的預設值
9 i, {1 u# X% F) h; y9 E0 W; u& enet.ipv4.tcp_fin_timeout = 15
5 E3 R0 Z+ H6 ?+ t. w, K9 S+ B3 |, H" X0 a, L
, y/ T8 }0 M Z" R* c% K
# 降低連線存活時間的預設值
5 L, @; ]" \+ G X% V9 ^ Gnet.ipv4.tcp_keepalive_time = 300: g" y" n( m0 p# V" T: `
net.ipv4.tcp_keepalive_probes = 5- B3 t5 b, M, \
net.ipv4.tcp_keepalive_intvl = 15
, V% {2 M i1 C$ _
( F6 w# T2 O R3 A- g
) C7 ^* A$ o. D$ b. [( U### 調整網路效能 ###2 w* H& P' f& [& c) m
& p1 v% v) L% R& T2 X& V9 s5 Q' w" w( S( Z
# 預設的Socket接收緩存
( C/ _# l1 }+ V2 }' r unet.core.rmem_default = 31457280
8 z6 ~5 t) z, \/ ^; D8 q8 x2 u, T* w& ~2 G* X2 ?2 [; U5 F1 l
% [/ V) a7 v2 p+ O6 \
# 最大的Socket接收緩存3 W& C. o# O# G @6 P2 n# l0 D
net.core.rmem_max = 12582912/ N. ^# g- J& I" X
! x, y$ H" V% H, Q" `! m# v1 Z# f' X1 S! v$ j7 D8 ^4 J
# 預設的Socket傳送緩存
) }2 ~, ?$ X1 J* w( g. ~net.core.wmem_default = 31457280
0 f" n1 ~& v% _7 W1 a+ q
6 k+ O! G7 p) A$ I; L, j* ~9 Q0 N' A `& h! X& }8 v( d
# 最大的Socket傳送緩存
0 {! r& N$ E, D, Y* B5 nnet.core.wmem_max = 12582912
5 G3 p8 ~1 o7 ~& O0 u. ]3 p4 B
4 D9 R C, c* i# l7 D; L6 P
4 Q' _+ I1 t+ m2 y% p; M# 加大網路連入數
9 T) A$ r- f9 L* ^; y$ Tnet.core.somaxconn = 4096
8 q, z/ q( f1 G" |
4 }2 p4 r% `/ c) s1 k6 o: U4 X3 H# S5 N$ A( {7 h5 c
# 加大網路連入的backlog1 ~2 W& X1 o: Z9 T2 ~1 } M7 w
net.core.netdev_max_backlog = 65536
( ]0 P- ]" F5 a+ i
: d- ~# m! \+ y3 ]6 N, C" d- q- N1 D) B: t, V2 t; K4 [
# 加大記憶體緩存的最大量( h3 _$ l, t8 O) k* j& @* I" M' A& L
net.core.optmem_max = 251658240 c$ T) V- R1 c: P; F& H
9 X) V4 u0 ~1 n, F, r
- c# w& x6 d$ g8 g/ B6 H% d# Increase the maximum total buffer-space allocatable加大可定址緩存空間的最大總量! d0 J: `7 A. o" l1 j
# This is measured in units of pages (4096 bytes)% D9 q( T: W3 }* z: r' v; i, w3 ^6 b
net.ipv4.tcp_mem = 65536 131072 262144' O" u1 ~+ L% y4 k' L: @$ J# [) H
net.ipv4.udp_mem = 65536 131072 262144, S6 Q3 H# d C/ ~+ C
3 q9 [6 y7 l3 N B! q
% Y+ N( m6 d4 P+ f( I' e# 加大讀取緩存可定址空間
$ r# ?- k8 J( ^) e, nnet.ipv4.tcp_rmem = 8192 87380 167772169 o$ ]$ W5 X; {
net.ipv4.udp_rmem_min = 16384! G0 m1 X6 w: i2 h# r% D+ R
, k3 v$ J: @' J6 R$ N7 @/ A8 B+ l
4 Q/ k) Y j+ N# 加大寫入緩存可定址空間! w' ?: D6 V1 g" w' y" W J" i
net.ipv4.tcp_wmem = 8192 65536 16777216
! V3 u' g7 {- ?( w6 V" e+ H* Dnet.ipv4.udp_wmem_min = 16384$ T+ M6 Y5 A$ q$ `' q
: G3 X4 T0 T8 d5 d3 U5 p
! j- f" [5 y5 r. Z# ?# 加大tcp-time-wait桶子池區數量以預防簡易的DOS攻擊
6 K# s8 I; n# h5 _ R, U4 t {net.ipv4.tcp_max_tw_buckets = 1440000- V: q* e6 h" [- p
net.ipv4.tcp_tw_recycle = 1
& n/ S, O) \5 P( Tnet.ipv4.tcp_tw_reuse = 1
7 @6 k, w( ]% G3 Z' p+ T, ^' @8 l% @- H% J) K) H
# J4 e+ X* `' z
存檔以生效* i4 @0 F0 ]+ J4 ]- b
#sysctl -p 載入已變更$ d0 H, D5 w7 h* z5 b9 L
6 v5 U- y/ g6 D" K/ r
參考來源:
) B, g7 a' k( ?% ^3 b5 h, E, S) k
https://easyengine.io/tutorials/linux/sysctl-conf/
; i: I- t2 Z% `遊客,本帖隱藏的內容需要積分高於 888999999999 才可瀏覽,您當前積分為 0
4 d9 e6 q% ~0 G2 Y; _3 _3 ~: H
0 e3 Y' k5 T4 j# T+ E7 V7 a
) M2 p) S1 ]3 ?
' Y$ z, I9 T( x2 q n! W$ a; Z |
|