LNMP环境下压力测试时的主要调试参数
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环境搭建:Nginx安装、测试与域名配置
Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...
- 【第五课】LNMP环境的入门
目录 一. LNMP环境介绍 二.Mysql的二进制免编译安装 三.PHP 7.2.5编译部署 四.Nginx的编译安装 五.YUM安装Nginx 一. LNMP环境介绍 LNMP(Linux + N ...
- lnmp环境应用实践
LNMP 用户通过浏览器输入域名请求nginx web服务,如果请求时静态资源,则由nginx解析返回给用户:如果是动态请求(.php结尾),那么nginx就会把它通过FastCGI接口(生产常用方法 ...
- Linux实战教学笔记28:企业级LNMP环境应用实践
一,LNMP应用环境 1.1 LNMP介绍 大约在2010年以前,互联网公司最常用的经典Web服务环境组合就是LAMP(即Linux,Apache,MySQL,PHP),近几年随着Nginx Web服 ...
- 原lnmp环境服务器升级为mysql+nginx+php单个docker容器构建的lnmp环境
时间:2018年2月 一.项目背景 我单位现web服务架构为lnmp环境,服务器软件.硬件升级部署难:同时开源软件日新月异,考虑到技术升级,领导决定服务器架构整体升级为容器架构,维护性.移植性强. 二 ...
- LNMP环境搭建之php安装,wordpress博客搭建
LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...
- LNMP环境搭建(<=PHP7.2)
目录 准备工作 安装wget 安装net-tools 安装vim 配置显示行号 关闭防火墙 安装Nginx 安装依赖 编译安装Nginx 配置环境变量 Systemd管理 安装MySQL 安装依赖 下 ...
- LNMP环境搭建(PHP7.4.0)
目录 准备工作 安装wget 安装net-tools 安装vim 配置显示行号 关闭防火墙 安装Nginx 安装依赖 编译安装Nginx 配置环境变量 Systemd管理 安装MySQL 安装依赖 下 ...
- Centos7之LNMP环境编译安装
Centos7之LNMP环境编译安装 一.系统环境准备 注:安装时间过长,只做参考!!!1.系统信息 [root@localhost ~]# uname -r 3.10.0-957.el7.x86_6 ...
随机推荐
- c# is和as的区别
关于类型的判断和转换有is和as这2个操作符.具体区别和用法如下is就是处于对类型的判断.返回true和false.如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false ...
- GitHub的代码托管和使用方法
原文 GitHub托管 借助GitHub托管你的项目代码 PS:话说自己注册了GitHub都很久了,却没有怎么去弄,现在系统学习一下,也把自己的学习经历总结下来share给大家,希望大家都能把Git ...
- [Everyday Mathematics]20150222
设 $$\bex a_0=1,\quad a_1=\frac{1}{2},\quad a_{n+1}=\frac{na_n^2}{1+(n+1)a_n}\ (n\geq 1). \eex$$ 试证: ...
- hql查询语句 内存中的情况,fetch迫切查询关键字
Classes.java package cn.itcast.hiberate.sh.domain; import java.io.Serializable; import java.util.Set ...
- dos攻击
概念理解 DoS到底是什么?接触PC机较早的同志会直接想到微软磁盘操作系统的DOS--DiskOperationSystem?不,此DoS非彼DOS也,DoS即DenialOfService,拒绝服务 ...
- R 安装与环境配置
R语言是一种很方便的应用于科学计算的语言,推荐给大家学习. 由于R的版本对程序包的兼容有些问题,推荐使用2.15.3. 下面给出下载链接,安装一路默认即可,可以自己更存放目录,其他的都没有影响.下面是 ...
- mac 配置Python集成开发环境(Eclipse +Python+Pydev)
1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...
- IT智力题
题目1:你让工人为你工作7天,给工人的回报是一根金条.金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你 如何给你的工人付费? 答案:两次弄断就应分成三份,我把金条分 ...
- struts2类库下载
struts2开发包下载 到http://struts.apache.org/download.cgi#struts2014下载struts-2.x.x-all.zip,目前最新版为2.1.6.下载完 ...
- django部署到最后 主页上出现的坏请求解决办法
ALLOWED_HOSTS = ['*'] 不然会出现400的坏请求 到此为止 环境总算配置完毕历时2天半重新熟悉了大量apache 和 linux下的命令