Aapache工作模式深度优化,ab压力测试,apache目录属性
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,ab压力测试Apache自带压力测试工具ab,简单易用,且可以模拟各种条件对web服务器发起测是请求ab工具可以直接在web服务器本地发起测是请求,这对于需要了解服务器的处理性能至关重要,因为它不包括
千家信息网最后更新 2024年11月25日Aapache工作模式深度优化,ab压力测试,apache目录属性
ab压力测试
Apache自带压力测试工具ab,简单易用,且可以模拟各种条件对web服务器发起测是请求ab工具可以直接在web服务器本地发起测是请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户pc本地的计算时间,从而可以通过观测各种时间指标判断web服务器的性能,以便进行参数的优化调整
ab压力测试工具的作用
优化前先使用ab进行压力测试优化后,重启服务,再使用ab进行压力测试对比两次测试的结果,看优化效果是否明显为了能更客观的评价web服务的性能,一般优化前后都要进行多次测试,取测试的平均值进行对比
ab压力测试工具的使用,参数说明
ab[options] 网站网址-n,-c,-t,-v
实例
#Apac/usr/local/httpd/bin/ab -n5000 -c900 www.kgc.com/index.html
ab工具测试结果的关键测试说明
Apache工作模式介绍
在测试时要根据情况调整求总数与并发用户数he工作模式介绍
Apache作为先今web服务器用的最为广泛也是最稳定的开源服务器软件。其工作模式有许多中,源码包安装HTTPD时可查看httpd-mpm.cong文件,该文件位于extra/conf目录中目前主要有两种模式:event模式preork模式worker模式工作模式怎么区分prefork:一个进程中包含一个线程worker/event:一个进程中包含多个进程
event工作模式介绍
event是Apache最新的工作模式,他和worker模式很像,不同的是在于它解决了keep-alive长连接的时候占用线程资源被浪费的问题event工作模式在遇到某写不兼容的模块时,会失效,将会回退到worker模式event工作模式需要Linux系统(Linux 2.6+)对epoll的支持,才能启用,需要补充的是HTTPS的连接(SSL)event建立连接,保持连接,就像打电话说一会儿挂段,再说一会儿挂段,我可以设置超时时间,超过就断开,随时可以断开会话功能。
event工作方式
在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放,这样,一个线程就能处理几个请求了,实现了异步非阻塞。这增强了在高并发场景下的请求处理灵活控制,多个请求时,可以把之前的进程释放,能处理高并发
event参数详解
StartServers 3 配置文件中,启动3个进程MinSpare Threads 75 最少空闲的线程数量 75MaxSpare Threads 250 最大空闲的线程数量 250ThreadsPerChild 25 每个进程中默认开启25个线程MaxRequestWorkers 400 并发最大请求数量400个MaxConnectionsPerChild 0 如果设置为0.子进程将永远不会结束,如果设置成非0值,可以防止运行PHP导致的内存泄露
prefork工作模式介绍
prefork是一个多路处理模块(MPM),实现了一个进程型的,预排生的web服务器,适合于没有线程安全库,需要避免线程兼容性问题的系统再要求每个请求相互独立的情况下具有很好的特性。若一个请求出现问题不会影响到其他请求具有很强的自我调节能力,只需要很少的配置指令进行调整就可以适合于企业应用要求最重要的是将MaxClients设置为一个足够大的数值已处理潜在的请求高峰,同时又不能太大,以避免所需的内存超出物理内存的大小
prefork工作模式方式
一个单独的控制进程(父进程)负责产生子进程,子进程用于监听请求并作出应答,因此在内存中会一直存在一些备用的(spare)或是空闲的子进程,用于响应新的请求,可加快响应速度父进程通常以root身份 运行,以便绑定80端口,子进程通常以一个低特权的用户运行,可通过配置项的User和Group配置运行子进程的用户必须要对网站内容有读取权限,但是对其他资源必须拥有尽可能少的权限,以保证系统安全编译安装时没有指定工作模式,默认会使用prefork模式,可用httpd -l查看
prefork参数讲解
StartServers 20 最大进程数MinSpareServers 10 最少空闲进程MaxSpareServers 50 最多空闲进程MaxClients 150 最多创建多少个子进程用来处理请求MaxRequestPerChild 0 每个进程处理的最大请求数,到请求数,进程即被销毁,如果设置为0,子进程永远不会结束
prefork优化
可根据生产环境进行调试,以确定合适参数##优化参考 ServerLimit 1000 StartServers 10 MinSpareServers 10 MaxSpareServers 30 MaxClients 1000 MaxRequestsPerChild 5000
worker工作模式介绍
worker也是多路处理模块(MPM),使网路服务支持混合的多线程进程由于使用线程来处理请求,所有可以处理海量请求,而系统资源的开销小于基于进程的MPM但是也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性控制该MPM的最重要的指令是:控制每个子进程允许建立的线程数ThreadsPerChild指令和控制允许建立的总线程数的MaxClients指令
worker工作方式
每个进程能够拥有的线程数量是固定的,服务器会根据负载情况增加或减少进程数量一个单独的控制进程(父进程)负责子进程的建立,每个子进程能够建立ThreadsPerChild数量的服务线程和一个监听线程,监听线程监听接入请求并将其传递给服务器进程处理和应答Apache总是会维持一个备用(spare)或是空闲的服务器线程池,客户端无需等待新线程或新进程的建立即可得到服务父进程一般都是以root身份启动,以绑定80端口;随后,Apache以较低权限的用户建立子进程和线程User和Group指令用于配置Apache子进程的运行用户。子进程要对网页内容拥有读取权限,但应该尽可能限制权限
worker参数详解
参数说明ServerLimit最大进程数,默认值16""ThreadL imit每个子进程的最大线程数,默认值是"64"StartServers服务器启动时建立的子进程数,默认值是"3"MaxClients允许同时接受的最大接入请求数量(最大线程数量)MinSpare Threads最小空闲线程数,,默认值是"75"MaxSpare Threads设置最大空闲线程数。默认值是"250"ThreadsPerChild每个子进程建立的常驻的执行线程数。默认值是25MaxRequestsPerChild设置每个子进程在其生存期内允许伺服的最大请求数量。设置为"0",子进程将永远不会结束
(prefork实列)
[root@localhost httpd-2.4.29]#./configure \--with-mpm=prefork \ ##添加工作模式此配置项[root@localhost httpd-2.4.29]# vim /etc/httpd.conf 输入/mpm查找此关键词,将前面的#注释删除Include conf/extra/httpd-mpm.conf ##定位到这行将注释删除,启用功能[root@localhost ~]# cd /usr/local/httpd/conf/extra/[root@localhost extra]# vim httpd-mpm.conf StartServers 10 ##启动的时候创建的进程数量改为10 MinSpareServers 10 ##空闲最小改为10 MaxSpareServers 20 ##最大设为20 MaxRequestWorkers 200 ##访问设量为200 MaxConnectionsPerChild 0 ##修改完成按Esc退出插入模式,输入:wq保存退出[root@localhost extra]# cd ../../bin/[root@localhost bin]# ./apachectl stop[root@localhost bin]# ./apachectl start##重新关闭开启服务[root@localhost bin]# lsof -i :80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 58933 root 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58937 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58938 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58939 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58940 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58941 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58942 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58943 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58944 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58945 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)httpd 58946 daemon 3u IPv4 88357 0t0 TCP localhost.localdomain:http (LISTEN)##除去一个主进程,其他的子进程变为10个
Apache目录属性
目录的权限设置使用和 这对语句为主目录或虚拟目录设置权限它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用
目录属性参数
参数作用Options设置在特定目录使用哪些特性AllowOverride允许存在于.htaccess文件中的指令类型Require设置目录的访问控制Indexes当用户访问该目录时,但没有指定要访问哪个文件,而且目录下不存在默认网页时,返回目录中的文件和子目录列表MultiViews内容协商的多重视图,Apache的一个智能特性。 当访问目录中不存在的对象时ExecCGI允许在该目录下执行CGI脚本FollowSymLinks在该目录下允许文件系统使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁止执行CGI脚本All包含除了MultiViews之外所有特性,如果没有Options语句,默认为All
配置目录属性(实列)
[root@localhost bin]# vim /etc/httpd.conf//输入/htdocs查找此关键词,找到如下字段,其中有两个功能起到支持作用:DocumentRoot "/usr/local/httpd/htdocs" # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks //1.Index:以列表形式展现 //2.FollowSymLinks并且支持链接性的文件 # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted //黑白名单 #我们可以先关闭防火墙,使用宿主机的浏览器进行验证[root@localhost bin]# systemctl stop firewalld.service [root@localhost bin]# setenforce 0[root@localhost bin]# cd /usr/local/httpd/htdocs/[root@localhost htdocs]# lsindex.html[root@localhost htdocs]# cat index.html It works!
[root@localhost htdocs]# lsindex.html[root@localhost htdocs]# mv index.html a.html[root@localhost htdocs]# lsa.html[root@localhost htdocs]# touch b.html c.html d.html[root@localhost htdocs]# lsa.html b.html c.html d.html//此时会以文件列表的形式展现,从另一个角度我们可以利用这点来做文件下载资源的提供,此时就不需要首页识别
连接文件放到站点中
[root@localhost htdocs]# ln -s /usr/share/man/ ./ //把man手册放入这个文件夹,看他能不能识别这个链接文件[root@localhost htdocs]# lsa.html b.html c.html d.html man
进程
线程
模式
服务
目录
工作
文件
服务器
测试
处理
最大
数量
参数
空闲
权限
用户
控制
配置
压力
个子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
自己能建服务器吗
777互联网科技公司董事长
二维进化网络技术有限公司
教育系统软件开发外包公司
软件开发怎么减小内存
有什么容易操作的数据库
大数据 网络安全架构
网络安全安全事件风险
浙江服务器租用
互联网网络科技公司举例
2019国民体质监测数据库
博览医书数据库广州中医药大学
给服务器装系统的网站
数据库基础教程sql
数据库2012引擎配置
网络安全知识答题引言
福建搭建云空间系统服务器
人脸识别数据库都有什么
合川区网络安全审计系统咨询公司
联想服务器2021年销售
东南亚科技互联网行业投资报告
网络安全工作的目标是什么
2022网络安全主题班会教案
网络安全宣传周网安基地
山西正规软件开发价格优惠
网络安全读本发布
网络安全主题班会总结900字
Oracle 云服务器咋样
对网络安全的要求
东丽区企业网络技术创造辉煌