PHP7+Swoole/Nginx/Golang性能对比
QPS对比
使用apache bench工具对Nginx静态页、Golang Http程序、PHP7+Swoole Http程序进行压力测试。在同一台机器上,进行并发100共100万次Http请求的基准测试中,QPS对比如下:
软件 | QPS | 软件版本 |
---|---|---|
Nginx | 164489.92 | nginx/1.4.6 (Ubuntu) |
Golang | 166838.68 | go version go1.5.2 linux/amd64 |
PHP7+Swoole | 287104.12 | swoole-1.7.22-alpha |
Nginx-1.9.9 | 245058.70 | nginx/1.9.9 |
注:Nginx-1.9.9的测试中,已关闭access_log,启用open_file_cache缓存静态文件到内存
- 更详细的测试细节
- 历史测试数据:Nginx/Golang/Swoole/Node.js的性能对比
测试环境
- CPU:Intel® Core™ i5-4590 CPU @ 3.30GHz × 4
- 内存:16G
- 磁盘:128G SSD
- 操作系统:Ubuntu14.04 (Linux 3.16.0-55-generic)
压测工具
ab -c 100 -n 1000000 -k http://127.0.0.1:8080/
VHOST配置
server {listen 80 default_server;root /data/webroot;index index.html; }
测试页面
<h1>Hello World!</h1>
进程数量
Nginx开启了4个Worker进程
htf@htf-All-Series:~/soft/php-7.0.0$ ps aux|grep nginx root 1221 0.0 0.0 86300 3304 ? Ss 12月07 0:00 nginx: master process /usr/sbin/nginx www-data 1222 0.0 0.0 87316 5440 ? S 12月07 0:44 nginx: worker process www-data 1223 0.0 0.0 87184 5388 ? S 12月07 0:36 nginx: worker process www-data 1224 0.0 0.0 87000 5520 ? S 12月07 0:40 nginx: worker process www-data 1225 0.0 0.0 87524 5516 ? S 12月07 0:45 nginx: worker process
Golang
测试代码
package mainimport ("log""net/http""runtime" )func main() {runtime.GOMAXPROCS(runtime.NumCPU() - 1)http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {w.Header().Add("Last-Modified", "Thu, 18 Jun 2015 10:24:27 GMT")w.Header().Add("Accept-Ranges", "bytes")w.Header().Add("E-Tag", "55829c5b-17")w.Header().Add("Server", "golang-http-server")w.Write([]byte("<h1>\nHello world!\n</h1>\n"))})log.Printf("Go http Server listen on :8080")log.Fatal(http.ListenAndServe(":8080", nil)) }
PHP7+Swoole
PHP7已启用OpCache
加速器。
PHP版本
htf@htf-All-Series:~/soft/php-7.0.0$ php -v PHP 7.0.0 (cli) (built: Dec 10 2015 14:36:26) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologieswith Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
测试代码
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);$http->set(['worker_num' => 4,
]);$http->on('request', function ($request, swoole_http_response $response) {$response->header('Last-Modified', 'Thu, 18 Jun 2015 10:24:27 GMT');$response->header('E-Tag', '55829c5b-17');$response->header('Accept-Ranges', 'bytes'); $response->end("<h1>\nHello Swoole.\n</h1>");
});$http->start();
来源:https://wiki.swoole.com/wiki/page/508.html
PHP7+Swoole/Nginx/Golang性能对比相关推荐
- nginx php7提速,nginx+php7-fpm 性能提升几倍跟踪实践结果并优化
nginx+php7-fpm 性能提升几倍跟踪实践结果并优化 nginx+php7-fpm 性能提升几倍,跟踪实践结果并优化 历史ubuntu服务器使用的apache+php5,现在使用nginux+ ...
- Netflix Zuul与Nginx的性能对比
2019独角兽企业重金招聘Python工程师标准>>> 这是一篇翻译,关于大家经常质疑的一个问题:API网关Zuul的性能. 原文:NETFLIX ZUUL VS NGINX PER ...
- 【问底】徐汉彬:PHP7和HHVM的性能之争
本文来源于: http://www.csdn.net/article/2014-12-25/2823234 [导读]徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升 ...
- 【转载】徐汉彬:PHP7和HHVM的性能之争
摘要:近日,PHP7和HHVM的性能之争成为了一个讨论热点,但毫无疑问,它们都在提升PHP执行性能方面取得了突破性的进展.本期<问底>,徐汉彬将为大家科普和介绍它们的性能之争. [导读]徐 ...
- php7.0和5.6哪个好,PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍
PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍 发布时间:2020-04-24 09:49:17 来源:亿速云 阅读:131 作者:小新 这篇文章主要为大家详细介绍了PHP7.0与P ...
- nginx与apache详细性能对比
之前一直研究nginx的源代码,最近有时间也做了下nginx与apache的性能对比,希望能够够对大家有所帮助! 转载请注明:http://blog.csdn.net/lengzijian/artic ...
- Golang byte 拼接方法性能对比
Golang byte 拼接方法性能对比 最近项目上遇到需要将[]Byte进行拼接的需求,对[]Byte拼接的各种方法进行了对比,测试代码如下: package main import (" ...
- python爬虫和golang爬虫性能对比_Scrapy VS Golang 爬虫对比(修正)
前言 之前写了一篇scrapy和golang爬虫性能对比,引起了很大的争议(就是被各位大佬喷的很惨的意思).其中,很多人提了数据库读写的问题,看到大家的评论后不久我又测了一下,把写数据库的那部分代码注 ...
- golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比
阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...
最新文章
- Excel百万数据导入oracle,excel表数据导入oracle的方法!(超级有用)
- 深度学习中各激活函数的优缺点
- java竖向菜单,垂直滑动菜单
- 织梦文章添加字段填栏目id,内容页调用字段里的栏目文章
- foxmail占cpu 100%解决办法
- 让在vc6创建的程序中,控件可以随xp风格的改变而变化,不用再程序中添加代码来自己实现~...
- You Like Cake(背包容量过于大的折半搜索法)
- everything-everything使用技巧,过滤文件语法
- 如何使用EditPlus3编写汇编语言
- linux卸载设备驱动命令,Linux设备驱动程序加载/卸载方法 insmod和modprobe命令
- Docker-----Cgroup资源配置详细教程,图文并茂
- 以太坊源码阅读【Transaction(交易模块)】
- icp许可证申请:一文读懂icp许可办理流程、费用
- 2019-4-29-win10-uwp-使用-Border-布局
- 现在网站主流排版方式
- 论坛mysql cpu100_解决 MYSQL CPU 占用 100% 的经验总结
- DDR4的特性与电气参数
- android studio zbar,Zbar and Zxing in android studio
- 拓嘉启远:关于拼多多搜索溢价,你了解多少
- android 六棱形分析图,[转载]菱形整理形态、三角形整理形态图解及分析
热门文章
- SQL Server 2008 复习(二)
- java jpanel调用构造函数的时候就开始执行repaint_在Java Swing组件中劫持`repaint()`调用...
- 01_初识Matplotlib、Figure的组成、绘图函数的输入类型、第一个例子(学习笔记)
- nginx中configure脚本支持的常用选项,拍摄自《Nginx高性能Web服务器详解》
- jquery.query-*.js 操作url
- Linux服务器编程之:chown()函数,chown命令
- odps结合mysql统计
- Python基础概念_6_模块
- 在 linux 下使用 CMake 构建应用程序
- SSD安装及训练自己的数据集