ngx_lua与go高并发性能对比
来源:互联网 发布:unity3d 角色资源 编辑:程序博客网 时间:2024/05/20 07:17
nginx在处理高并发能力上非常出色,而go作为新时代互联网语言,在设计之初就为实现高并发。
ngx_lua由nginx来处理网络事件,并使用协程来实现非阻塞,从而实现高并发。 go语言级别提供非阻塞的api,同样使用协程来提供高并发处理。
我们来测试对比一下两者的性能。
ngx_lua:Tengine/1.4.3+luajit+ngx_luago:go1.0.3
分别实现512字节的内容的输出,对比在不同并发下的qps。
测试机器:
core Intel(R) Xeon(R) CPU E5520 @ 2.27GHz Linux localhost 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
使用ab进行测试,测试结果如下:
从结果中,可以看出短连接时,两者qps相差不大,而长连接时,两者相差较大。go的cpu占用比ngx_lua要高不少。另外,go在并发数增加的情况下,性能依然出色。
相关测试代码。
lua代码:
ngx.print("aaaaa...512...aaa")
go 代码:
package mainimport ( "net/http" "log" "fmt" "runtime")func handler512(w http.ResponseWriter, r *http.Request) { w.Header().Set("Connection", "keep-alive") a := []byte("aaaaa...512...aaa") w.Header().Set("Content-Length", fmt.Sprintf("%d", len(a))) w.Write(a)}func main() { runtime.GOMAXPROCS(runtime.NumCPU()) http.HandleFunc("/512b", handler512) log.Fatal(http.ListenAndServe(":8080", nil))}
来源:http://ju.outofmemory.cn/entry/7199
阅读全文
0 0
- ngx_lua与go高并发性能对比
- ngx_lua与go高并发性能对比
- 使用ngx_lua构建高并发应用
- 使用ngx_lua构建高并发应用
- Node.js与Go的性能对比
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 使用ngx_lua构建高并发应用(1)
- 使用ngx_lua构建高并发应用(2)
- 高并发,高性能
- 使用gradle构建项目
- CoAP学习笔记——STM32平台上实现CoAP Server
- sublime配置java编译运行环境
- Android面试题----Activity相关问题
- MySQL性能优化学习
- ngx_lua与go高并发性能对比
- React Native带你实现scrollable-tab-view(三)
- [ASP.NET]学习日志-问题篇
- SpringMVC学习笔记
- 面试题:查询部门最高工资的员工信息
- 插件收集
- leetcode 410. Split Array Largest Sum
- 安卓RecyclerView的简单实用
- NodeJs学习笔记_01