Deprecated
: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in
/www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php
on line
1057
首页
关于
Search
1
给你10个市场数据调研报告的免费下载网站!以后竞品数据就从这里找!
182 阅读
2
php接口优化 使用curl_multi_init批量请求
144 阅读
3
《从菜鸟到大师之路 ElasticSearch 篇》
107 阅读
4
2024年备考系统架构设计师
104 阅读
5
PHP 文件I/O
92 阅读
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
登录
Search
标签搜索
php函数
php语法
性能优化
安全
错误和异常处理
问题
vue
Composer
Session
缓存
框架
Swoole
api
并发
异步
正则表达式
php-fpm
mysql 索引
开发规范
协程
dafenqi
累计撰写
786
篇文章
累计收到
28
条评论
首页
栏目
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
副业
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
页面
关于
搜索到
1
篇与
的结果
2023-08-09
Nginx Unit 初探及其性能对比分析 & 压测
Nginx Unit 初探及其性能对比分析 & 压测Nginx Unit初探Nginx Unit是一个开源的,以Nginx为基础、支持多语言的Web服务器,它支持Python,PHP,Go等多语言应用程序,可以在不中断服务的情况下完成部署配置更改,以多种语言运行代码。而它运行多种语言的能力是基于内部路由器进程之间的隔离,路由器进程可终止传入的HTTP请求,以及应用程序进程的分组,路由器进程是持久的,不重新启动。它具有以下特征:使用RESTful JSON API进行动态重配置服务器;同时支持多语言,多版本应用;即将支持的特性有:动态语言的进程管理功能;TLS支持;TCP,HTTP,HTTPS,HTTP/2路由和代理。下面我们以一个简单的php-test应用为例介绍nginx unit的安装和使用。安装Nginx Unit以centos 6.9为例。创建/etc/yum.repos.d/unit.repo。1[unit]2name=unit repo3baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/4gpgcheck=05enabled=1开始安装1# yun install unit配置和运行每个单独的应用,都可以在NGINX Unit的配置文件中,使用JSON语法来定义一个applications。下面以配置一个应用为例,名为php-test,该应用的本地路径为/data0/www/htdocs/nginxUnit/。首先,我们创建一个目录并进入相应目录。1# cd /data0/www/htdocs/nginxUnit/在该目录下创建一个index.php文件用于测试。1<?php2echo "hello world";3?>在/data0/www/htdocs目录下创建一个名为phpConfig.json的配置文件。1{ 2 "listeners": { 3 "*:8100": { 4 "application": "php-test" 5 } 6 }, 7 "applications": { 8 "php-test": { 9 "type": "php",10 "processes": 20,11 "root": "/data0/www/htdocs/nginxUnit",12 "index": "index.php"13 }14 }15}该配置文件包含一个监听器和应用配置。当应用被通过HTTP访问时,须定义至少一个监听器 listeners。监听器是一个IP地址和一个被定义的端口,当用户访问时,Unit的监听器会返回正确的结果,IP地址可以是一个完整的IP地址(如127.0.0.1:8100)或(*:8100)。在命令行执行如下命令来创建一个应用php-test1# curl -X PUT -d @/data0/www/htdocs/phpConfig.json --unix-socket /var/run/control.unit.sock http://localhost成功配置后会出现如下提示1# curl -X PUT -d @/data0/www/htdocs/phpConfig.json --unix-socket /var/run/control.unit.sock http://localhost2{3 "success": "Reconfiguration done."4}这时可以访问http://localhost:8100/ 查看index.php的程序是否正常运行。至此我们的环境搭建和应用配置已经完成。性能对比接下来我们进行性能对比分析。将Nginx Unit与我们现在使用的tengine+php-fpm进行对比分析。在进行分析之前,介绍下基本环境。CPU:1核内存:4G操作系统:Centos 6.9php版本:7.0.6nginx unit 的部分参数配置1"listeners": { 2 "*:8100": { 3 "application": "php-test" 4 } 5 }, 6 "applications": { 7 "php-test": { 8 "type": "php", 9 "processes": 20,10 "root": "/data0/www/htdocs/nginxUnit",11 "index": "index.php"12 }13 }tengine +php-fpm 的部分参数配置:1[unit.local] 2user = www 3group = www 4listen = 127.0.0.1:9008 5listen.allowed_clients = 127.0.0.1 6pm = static 7pm.max_children = 20 8pm.start_servers = 1 9pm.min_spare_servers = 110pm.max_spare_servers = 3211pm.max_requests = 150012pm.status_path = /h3_monitor13slowlog = /data0/www/logs/$pool-slow_log14request_slowlog_timeout = 315request_terminate_timeout = 2016catch_workers_output = no17security.limit_extensions = ""压测参数:每个压测指令指令10次,取10次qps值的平均值作为最后的统计数据。压测指令:[root@lianjia ~]# ab -n 10000 -c 100 http://127.0.0.1:8100/[root@lianjia ~]# ab -n 10000 -c 100 http://unit.local/[root@lianjia ~]# ab -n 10000 -c 50 http://unit.local/[root@lianjia ~]# ab -n 10000 -c 50 http://127.0.0.1:8100/[root@lianjia ~]# ab -n 1000 -c 50 http://127.0.0.1:8100/[root@lianjia ~]# ab -n 1000 -c 50 http://unit.local/压测结果:图片每行的的后两列数据是Requests per second和Time per request服务器平均处理时间值。Requests per second是总时间除以总请求数的值,也就是我们平常所所的QPS值,QPS值越高表明服务器处理请求数越高,性能越好。Time per request是服务器平均处理时间,值越小表示服务器处理速度越快。分析这三行数据:1.在并发请求参数相同均为50的前提下,压测请求总数设置为1000和10000两种情况时,发现相同并发数时,压测请求总数越高,其QPS值相对越高,服务器处理速度相对越快,tengine+php-fpm和nginx+unit均是如此;2.对比tengine+php-fpm和nginx+unit在并发请求总数50,压测请求总数10000时,nginx+unit的QPS值高于tengine+php-fpm的91%;服务器平均处理时间也是快87.5%;综上:Nginx+Unit在纯文本输出中的QPS值和服务器平均处理时间是明显高于tengine+php-fpm组合的.其动态化的配置方式也是为未来创造无限可能。
2023年08月09日
18 阅读
0 评论
0 点赞