評估系統負載

2022-01-23 05:45:11 字數 4286 閱讀 3839

mysql例項的負載

閱讀目錄

回到頂部

mysql資料庫一般預設的連線超時時間為3600s(1小時),但是在進行大規模的執行緒事務操作時,乙個連線會一直等待執行,這時候如果資料庫的超時時間設定的過短,就可能會出現mysql資料連線自動被釋放,影響後面對資料庫的操作。

當然mysql連線設定的大小,要根據需求場景進行設定,wait_timeout過大也有弊端,其體現就是mysql裡大量的sleep程序無法及時釋放,拖累系統效能,不過也不能把這個指設定的過小,否則你可 能會遭遇到「mysql has gone away」之類的問題。

所以需要根據自己專案業務場景,進行適當的設定超時時間。

回到頂部

在mysql命令提示符下執行以下命令即可:

show global variables like '%timeout%'
回到頂部

方案1.在mysql命令提示符執行以下命令即可(臨時方法,重啟mysql伺服器會失效,恢復預設值)

set global wait_timeout=15000
方案2.修改mysql的配置檔案(推薦方法)

[mysqld]

wait_timeout=10000

interactive_timeout=10000

儲存退出,重啟mysql服務即可

c24g裝的mysql 能支援最多多少mysql連線

mysql 預設超時時間,

druid 預設超時時間check時間

mysql check connect是否可用的時間

檢視連線:

show processlist; 只展示100個連線

show full processlist; 展示所有連線

大家知道在linux伺服器大併發調優時,往往需要預先調優linux引數,其中修改linux最大檔案控制代碼數是最常修改的引數之一。

[root@mongodb11 ~]# ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 256324

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

posix message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 10240

cpu time               (seconds, -t) unlimited

max user processes              (-u) 256324

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

預設情況下,linux最大檔案控制代碼數為1024個。當你的伺服器在大併發達到極限時,就會報出「too many open files」。

那麼如何修改linux最大檔案控制代碼數呢?其實很簡單:

1、ulimit -n 2048

這命令就可以修改linux最大檔案控制代碼數,修改以後使用ulimit -a 檢視修改的狀態,如:

[root@mongodb11 ~]# ulimit -n 2048

[root@mongodb11 ~]# ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 256324

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 2048

pipe size            (512 bytes, -p) 8

posix message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 10240

cpu time               (seconds, -t) unlimited

max user processes              (-u) 256324

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

但是,這種方法只針對當前程序有效。重新開啟乙個shell或者開啟乙個程序,你就會發現引數還是ulimit -n xx修改之前的數字。那麼有沒有一勞永逸的方法呢?

當然有!那就是修改系統引數。

2、修改linux系統引數。vi /etc/security/limits.conf 新增

*  soft  nofile  65536

*  hard  nofile  65536

修改以後儲存,登出當前使用者,重新登入,執行ulimit -a ,ok ,引數生效了:

[root@localhost ~]# ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 256600

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 65536

pipe size            (512 bytes, -p) 8

posix message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 10240

cpu time               (seconds, -t) unlimited

max user processes              (-u) 256600

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

系統平均負載

1分鐘 5分鐘 15分鐘 系統的平均負載 平均負載跟系統cpu的使用率沒有太大關係 在單位時間內,系統正在執行中的程序數或者不可中斷的程序數量 程序的活躍數量 跟cpu的核心數有關係 當負載為2的時候 核心數為4 50 核心數為2 100 核心數為1 200 當1分鐘的值小於5分鐘和15分鐘的時候 ...

評估系統各項效能方法

dd if dev zero of root 1gb.file bs 1024k count 1000 先實測下系統硬碟寫入的效能,再與 目標資料庫每秒增長的大小進行衡量 ifstat 檢視網絡卡進出流量。iperf 可以直接2太機子模擬發包,來衡量網路狀況和正常情況下系統在網路環境中的正常表現 v...

系統吞度量評估方法

一 系統吞度量要素 乙個系統的吞度量 承壓能力 與request對cpu的消耗 外部介面 io等等緊密關聯。單個reqeust 對cpu消耗越高,外部系統介面 io影響速度越慢,系統吞吐能力越低,反之越高。系統吞吐量幾個重要引數 qps tps 併發數 響應時間 qps tps 每秒鐘request...