LNMP環境下壓力測試時的主要除錯引數

2021-09-06 18:22:45 字數 4487 閱讀 2783

lnmp環境下壓力測試時的主要除錯引數:

進行http的壓力測試時,很多時候會遇到很小的併發數,伺服器就會出現不響應,或者連線超時,一般導致的原因有如下幾點:

一、nginx主要除錯引數

主模組引數:

worker_processes = 4 #按照cpu核心數量的設定

worker_rlimit_nofile 65535; #nginx程序開啟檔案描述符最大數量

use epoll; #使用epoll事件模型

worker_connections = 10240 #每個程序的最大連線數

http模組引數

keepalive_timeout 60; #keepalive超時時間。

client_body_buffer_size 64k; #客戶端請求內容的緩衝區大小。

client_header_buffer_size 8k; #客戶端請求頭部的緩衝區大小,可以根據系統的分頁大小來設定。

large_client_header_buffers 4 128k;

client_max_body_size 8m; #客戶端請求內容的最大值。

open_file_cache max=10240 inactive=30s; #開啟檔案的快取,max指快取的最大數量,inactive指快取過期時間。

open_file_cache_valid 30s; #檢查快取的有效時間。

open_file_cache_min_uses 1; #inactive引數的時間內檔案的最少使用次數,如果超過這個值,則保持快取的開啟狀態。

fastcgi_buffers 8 32k; #讀取fastcgi返回資訊的緩衝數量和大小。

fastcgi_buffer_size 128k; #讀取fastcgi伺服器響應頭部的緩衝區大小。

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

fastcgi_connect_timeout 120; #連線到後端fastcgi的超時時間。

fastcgi_send_timeout 120; #向fastcgi傳送請求的超時時間。

fastcgi_read_timeout 120; #接收fastcgi應答的超時時間。

二、php主要除錯引數

1、php-fpm主要除錯引數

pm = dynamic

程序管理方式,一般是static或者dynamic。

pm.max_children = 100

表示建立的子程序的數量。

pm.max_requests = 10000

每個子程序重起之前服務的請求數,存在記憶體洩漏時比較有用

rlimit_files = 65535

開啟檔案描述符的限制,可以使用ulimit -n檢視。

2、php.ini主要除錯引數

upload_max_filesize 8m

post_max_size 8m

max_execution_time 600

max_input_time 600

memory_limit 8m

三、mysql主要除錯引數

下面的配置選項可能比較少(8g記憶體的mysql),實際會超過很多人的需要,以後可以根據mysql的執行狀態進行修改。

[mysql]

port = 3306

socket = /var/lib/mysql/mysql.sock

[mysqld]

user = mysql

default_storage_engine = innodb

socket = /var/lib/mysql/mysql.sock

pid_file = /var/lib/mysql/mysql.pid

skip_name_resolve

key_buffer_size = 32m

myisam_recover = force,backup

max_allowed_packet = 16m

max_connect_errors = 1000000

log_bin = /var/lib/mysql/mysql-bin

expire_logs_days = 7

sync_binlog = 0

tmp_table_size = 32m

max_heap_table_size = 32m

query_cache_type = 1

query_cache_size = 32m

max_connections = 500

thread_cache_size = 50

open_files_limit = 65535

table_definition_cache = 1024

table_open_cache = 2048

innodb_flush_method = o_direct

innodb_log_files_in_group = 2

innodb_log_file_size = 256m

innodb_flush_log_at_trx_commit = 2

innodb_file_per_table = 1

innodb_buffer_pool_size = 4g

log_error = /var/log/mysql-error.log

log_queries_not_using_indexes = 1

slow_query_log = 1

slow_query_log_file = /var/log/mysql-slow.log

四、linux系統核心引數

1、sysctl.conf檔案常用引數

fs.file-max #linux系統中可以開啟的檔案數量

net.core.netdev_max_backlog #允許送到佇列的資料報的最大數目

net.core.rmem_max #socket讀快取區大小

net.core.wmem_max #socket寫快取區大小

net.core.somaxconn #系統中每乙個埠最大的監聽佇列的長度

net.ipv4.ip_local_port_range #允許系統開啟的埠範圍

net.ipv4.tcp_fin_timeout #time_wait2進入closed的等待時間

net.ipv4.tcp_keepalive_time #tcp傳送keepalive訊息的時間

net.ipv4.tcp_max_syn_backlog #syn佇列的長度

net.ipv4.tcp_synack_retries #核心放棄連線之前傳送syn+ack包的數量

net.ipv4.tcp_syn_retries #核心放棄建立連線之前傳送syn包的數量

net.ipv4.tcp_max_tw_buckets #控制time_wait的最大數量

fs.file-max #系統可開啟的檔案數

fs.nr_open #fs.file-max的值不要超過fs.nr_open的值

使sysctl.conf檔案的修改生效

# sysctl -p

2、limits.conf檔案

# vi /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

五、硬體負載

檢視cpu負載情況

# top

檢視記憶體的使用情況

# free -m

檢視磁碟io的情況

# iostat -kx 2

檢視網路的流量情況

# sar -n dev 2

LNMP環境下壓力測試時的主要除錯引數

lnmp環境下壓力測試時的主要除錯引數 進行http的壓力測試時,很多時候會遇到很小的併發數,伺服器就會出現不響應,或者連線超時,一般導致的原因有如下幾點 一 nginx主要除錯引數 主模組引數 worker processes 4 按照cpu核心數量的設定 worker rlimit nofile...

Linux下壓力測試工具Webbench介紹

1安裝操作步驟 tar zxvf webbench 1.5.tar.gz cd webbench 1.5 make make install root localhost tar zxvf webbench 1.5.tar.gz 顯示如下資訊 webbench 1.5 webbench 1.5 we...

linux下壓力測試軟體siege的安裝與使用詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!假定 1 centos 系統 root登入 3 openssl 安裝路徑 usr local ssl 4 使用人員 php開發人員 關於siege的說明請先參考 選擇siege的理由 1 穩定 2 除了對http支援外,還支援https,並且支援的...