并发性能测试
1 测试目的
根据Apache、Nginx并发性能测试结果分析其并发模型各自优缺点。
性能评价项包括:RPS(每秒钟处理请求数)、CPU占用率、内存占用率、最大并发数。
根据Apache、Nginx并发模型优缺点,选择合适的并发模型框架。
2 测试环境
1、硬件环境
服务器:Interl server Borad
8核CPU,2G内存,160G硬盘,
客户端:与服务器端环境相同
2、操作系统
操作系统:Red Hat EnterPrise 内核Linux 2.6.18
客户端:Red Hat EnterPrise 内核Linux 2.6.9
3、网络拓扑
服务器与客户端通过百兆网线连通一台交换机
服务器IP地址:192.168.192.201
客户端IP地址:192.168.192.200
3 测试方法
3.1 测试工具
Apache 2.2.10 自带工具bench
webbench 1.5
3.2 测试步骤
1、设备检查安装
检查系统所有设备是否完好可用,并将设备连接到主机上。
2、网络连接检查
服务器和客户端用百兆网线连接在同一交换机
3、操作系统准备
启动Red Hat Enterprise
安装鼠标驱动,配置网络
4、下载、安装、配置
参考附录
5、apache测试
运行apache
cd /usr/local/apache/bin
./apachectl -k start
测试apache服务成功启动
在windows下访问:http://192.168.192.201/index.html
出现“it works!”测试页面
运行apche bench测试程序
cd /usr/local/apache/bin
./ab -c Clients -n Requests http://192.168.192.201/index.html
运行webbench测试程序
cd /usr/local/bin
webbench -c Clients -t time http://192.168.192.200/index.html
(Clients代表用户数,Requests代表并发数)
6、Nginx测试
运行nginx
./nginx
测试nginx服务成功启动
在windows下访问:http://192.168.192.201/index.html
出现“Welcome to nginx!” 页面
为了测试结果可对比性,将apache测试页面index.html拷贝覆盖nignx测试页面
运行apche bench测试程序
cd /usr/local/apache/bin
./ab -c Clients -n Requests http://192.168.192.201/index.html
运行webbech测试程序
cd /usr/local/bin
webbench -c Clients -t time http://192.168.192.200/index.html
7、记录测试结果
记录bench测试结果:Time taken for tests(测试时间,单位:秒),Requests per second(每秒处理请求数)
记录webbench测试结果:Speed(每分钟处理请求数,为了与Apache bench一致,记录时*30转换成每秒钟处理请求数),运行时间根据操作命令-t指定,默认30秒
查看CPU占用情况命令:top
内存占用情况命令:free
4 测试方案
Nginx单线程测试
Nginx多线程测试
Apache woker模式测试
Apache prefork模式测试
5 数据汇总
测试配置:Apache配置参考7.4,Nginx配置参考7.5
原始数据参见原始数据xls
数据汇总如下:
server client RPS
Idle Free(used) Idle Free(used)
Nginx 单进程 79 102526K 82 185196K 20757
Nginx 多进程 81 395444K 85 177405K 20861
Apahce prefork 38 154380K 75 178215K 30181
Apache worker 41 81506K 81 183166K 24669
6 测试结论
7 附录
7.1 Webbench安装
步骤 操作
下载安装包 wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
解压 tar zxvf webbench-1.5.tar.gz
编译 cd webbench-1.5
make
安装 make install
7.2 Apache安装
步骤 操作 说明
下载安装包 在http://www.apache.org下载软件包httpd-2.2.10.tar.gz 最新stable版
解压 tar xvzf httpd-2.2.10.tar.gz
编译选项 ./configure --prefix=/usr/local/apache 安装路径
--enable-module=shared 进程间共享内存
--enable-module=rewrite
--enable-threads 线程支(Worker模式有效)
--enable-shared=max
--with-mpm=worker Worker模式选择
--with-mpm=prefork Prefork模式选择
--with-mpm=event I/O复用支持
make 编译
安装 make install
7.3 Nginx安装
步骤 操作 说明
下载安装包 在http://sysoev.ru/nginx/download.html下载软件包nginx-0.7.24.tar.gz 最新stable版
解压 tar xvzf ginx-0.7.24.tar.gz
编译 ./configure --prefix=/usr/local/ 安装路径
make 编译
安装 make install
7.4 Apache配置
Apache配置命令:
cd /usr/local/apache/conf
vi http.conf
prefork模式下参数配置:
配置 Apache
prefork模式 --with-mpm=prefork
系统启动创建进程数 StartServers 128 //为跟Nginx可比
活动子进程数 ServerLimit 50000
子进程生命周期内处理连接数 MaxRequestsPerChild 0 // 0为不限制
最大子进程数 MaxClients 50000
监听端口 Listen 80
timeout Timeout 300
keepAlive KeepAlive On
Sendfile EnableSendfile on
Worker模式配置:
配置项 实现
Worker模式 --with-mpm=worker
系统启动创建进程数 StartServers 32
活动子进程数 ServerLimit 7812
最大线程数 MaxClients 500000
子进程线程数 ThreadsPerChild 64 //等于Apache允许设置的最大值
监听端口 Listen 80
timeout Timeout 300
keepAlive KeepAlive On
Sendfile EnableSendfile on
7.5 Nginx配置
Nginx配置命令 :
cd /usr/local/nginx/conf
vi nginx.conf
测试Nginx配置命令:
./nginx –t
单工作进程主要配置:
配置 Nginx
进程 worker_processes 1;
进程处理连接数 worker_connections 102400;
监听端口 server {
listen 80;
}
Sendfile sendfile on;
I/O复用方法 use epoll;
多工作进程配置:
配置 Nginx
进程 worker_processes 16;
进程处理连接数 worker_connections 102400;
监听端口 server {
listen 80;
}
Sendfile sendfile on;
I/O复用方法 use epoll;
以上就介绍了并发性能测试 apache nginx,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),