首页 后端开发 php教程 并发性能测试 apache nginx

并发性能测试 apache nginx

Aug 08, 2016 am 09:32 AM
apache nbsp nginx worker

并发性能测试
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教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
docker怎么启动容器 docker怎么启动容器 Apr 15, 2025 pm 12:27 PM

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

nginx在windows中怎么配置 nginx在windows中怎么配置 Apr 14, 2025 pm 12:57 PM

如何在 Windows 中配置 Nginx?安装 Nginx 并创建虚拟主机配置。修改主配置文件并包含虚拟主机配置。启动或重新加载 Nginx。测试配置并查看网站。选择性启用 SSL 并配置 SSL 证书。选择性设置防火墙允许 80 和 443 端口流量。

docker容器名称怎么查 docker容器名称怎么查 Apr 15, 2025 pm 12:21 PM

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

怎么查看nginx是否启动 怎么查看nginx是否启动 Apr 14, 2025 pm 01:03 PM

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

docker怎么创建容器 docker怎么创建容器 Apr 15, 2025 pm 12:18 PM

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

Zookeeper集群在CentOS如何搭建 Zookeeper集群在CentOS如何搭建 Apr 14, 2025 pm 02:09 PM

在CentOS系统上部署ZooKeeper集群,需要以下步骤:环境准备安装Java运行环境:使用以下命令安装Java8开发工具包:sudoyuminstalljava-1.8.0-openjdk-devel下载ZooKeeper:从ApacheZooKeeper官方网站下载适用于CentOS的版本(例如ZooKeeper3.8.x)。使用wget命令下载,并替换zookeeper-3.8.x为实际版本号:wgethttps://downloads.apache.or

如何解决CentOS系统故障 如何解决CentOS系统故障 Apr 14, 2025 pm 01:57 PM

解决CentOS系统故障的方法有很多,以下是一些常见的步骤和技巧:1.检查日志文件/var/log/messages:系统日志,包含各种系统事件。/var/log/secure:安全相关日志,如SSH登录尝试。/var/log/httpd/error_log:如果使用Apache服务器,这里会有错误信息。2.使用诊断工具dmesg:显示内核环缓冲区的内容,有助于了解硬件和驱动问

nginx怎么启动 nginx怎么启动 Apr 14, 2025 pm 01:06 PM

问题:如何启动 Nginx?答案:安装 Nginx启动 Nginx验证 Nginx 是否已启动探索其他启动选项自动启动 Nginx

See all articles