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,並且支援的...