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

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

Serat diperkenalkan dalam Php8.1, meningkatkan keupayaan pemprosesan serentak. 1) Serat adalah model konkurensi ringan yang serupa dengan coroutine. 2) Mereka membenarkan pemaju mengawal aliran pelaksanaan tugas secara manual dan sesuai untuk mengendalikan tugas I/O-intensif. 3) Menggunakan serat boleh menulis kod yang lebih cekap dan responsif.

Komuniti PHP menyediakan sumber dan sokongan yang kaya untuk membantu pemaju berkembang. 1) Sumber termasuk dokumentasi rasmi, tutorial, blog dan projek sumber terbuka seperti Laravel dan Symfony. 2) Sokongan boleh didapati melalui saluran StackOverflow, Reddit dan Slack. 3) Trend pembangunan boleh dipelajari dengan mengikuti RFC. 4) Integrasi ke dalam masyarakat dapat dicapai melalui penyertaan aktif, sumbangan kepada kod dan perkongsian pembelajaran.

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver CS6
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna