内容简介:Iris: 目前发展最快的Go Web框架。提供完整的MVC功能并且面向未来。ris自称是Go语言中所有Web框架最快的,它的特点如下:Iris是目前最优秀的框架之一,提供完整的WEB组件,且拥有较高的运行速度,所以我选择Iris进行此次开发。
服务计算 - 3 | golang web编程学习
CloudGo
框架选择
Iris: 目前发展最快的Go Web框架。提供完整的MVC功能并且面向未来。
ris自称是 Go 语言中所有Web框架最快的,它的特点如下:
- 聚焦高性能
- 健壮的静态路由支持和通配符子域名支持。
- 视图系统支持超过5以上模板
- 支持定制事件的高可扩展性Websocket API
- 带有GC, 内存 & redis 提供支持的会话
- 方便的中间件和插件
- 完整 REST API
- 能定制 HTTP 错误
- Typescript编译器 + 基于浏览器的编辑器
- 内容 negotiation & streaming
- 传送层安全性
- 源码改变后自动加载
- OAuth, OAuth2 支持27+ API providers
- JSON Web Tokens
Iris是目前最优秀的框架之一,提供完整的WEB组件,且拥有较高的运行速度,所以我选择Iris进行此次开发。
服务器代码
package main import ( "github.com/kataras/iris" "github.com/kataras/iris/middleware/logger" "github.com/kataras/iris/middleware/recover" ) func main() { app := iris.New() app.Use(recover.New()) app.Use(logger.New()) //输出html // 请求方式: GET // 访问地址: http://localhost:9090/welcome app.Handle("GET", "/welcome", func(ctx iris.Context) { ctx.HTML("<h1>Welcome</h1>") }) //输出字符串 // 类似于 app.Handle("GET", "/ping", [...]) // 请求方式: GET // 请求地址: http://localhost:9090/ping app.Get("/ping", func(ctx iris.Context) { ctx.WriteString("pong") }) //输出json // 请求方式: GET // 请求地址: http://localhost:9090/hello app.Get("/hello", func(ctx iris.Context) { ctx.JSON(iris.Map{"message": "Hello World!"}) }) app.Run(iris.Addr(":9090")) //9090 监听端口 }
服务器测试
-
运行服务器:
-
浏览器访问:
-
使用curl对可以正常访问服务器:
AB测试
ab -n 10000 -c 100 http://localhost:9090/welcome
- 测试结果重要参数:
字段 | 含义 |
---|---|
Server Hostname | 服务器主机名 |
Server Port | 服务器端口 |
Document Path | 文件路径 |
Document Length | 文件大小 |
Concurrency Level | 并发等级 |
Requst per second |
平均每秒的请求个数。服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 吞吐率是基于并发用户数的。这句话代表了两个含义: a、吞吐率和并发用户数相关。 b、不同的并发用户数下,吞吐率一般是不同的。 计算公式:总请求数/处理完成这些请求数所花费的时间,即:Request per second=Complete requests/Time taken for tests.这个数值表示当前机器的整体性能,值越大越好。 |
Time per request |
用户平均的等待时间。 计算公式:总请求数/处理完成这些请求数所花费的时间,即:Request per second=Complete requests/Time taken for tests.这个数值表示当前机器的整体性能,值越大越好。 |
Time per request:across all concurrent requests |
计算公式:处理完成所有请求数所花费的时间/总请求数,即:Time taken for/testsComplete requests. 可以看到,它是吞吐率的倒数。同时,它也等于用户平均请求等待时间/并发用户数,即Time per request/Concurrency Level。 |
Connection Times | 表内描述了所有的过程中所消耗的最小、中位、最长时间。 |
Percentage of the requests served within a certain time | 每个百分段的请求完成所需的时间 |
net/http源码阅读
以上所述就是小编给大家介绍的《服务计算 - 3 | CloudGo》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 计算机行业:中国云计算IaaS 服务市场年度综合分析2018
- 无服务器计算:功能与基础设施即服务
- 云计算,如何快速搭建微服务?
- UAVStack之微服务计算平台
- 无服务器云安全:如何保护无服务器计算
- 工具 | 百度开源的函数计算服务引擎
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Design and Analysis of Distributed Algorithms (Wiley Series on P
Nicola Santoro / Wiley-Interscience / 2006-10-27 / USD 140.95
This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distrib......一起来看看 《Design and Analysis of Distributed Algorithms (Wiley Series on P》 这本书的介绍吧!