前言
最近開始學習GO的WEB框架,IRIS號稱是Go最快的后端Web框架,目前發展最快的Go Web框架。提供完整的MVC功能並且面向未來。
所以先從它開始。
github地址
https://github.com/kataras/iris
文檔
https://www.studyiris.com/doc/irisDoc/Installation.html
安裝
go get -u github.com/kataras/iris
編輯main.go
package main import "github.com/kataras/iris" func main() { app := iris.Default() // Method: GET // Resource: http://localhost:8080/ app.Handle("GET", "/", func(ctx iris.Context) { ctx.HTML("Hello world!") }) // same as app.Handle("GET", "/ping", [...]) // Method: GET // Resource: http://localhost:8080/ping app.Get("/ping", func(ctx iris.Context) { ctx.WriteString("pong") }) // Method: GET // Resource: http://localhost:8080/hello app.Get("/hello", func(ctx iris.Context) { ctx.JSON(iris.Map{"message": "Hello iris web framework."}) }) // http://localhost:8080 // http://localhost:8080/ping // http://localhost:8080/hello app.Run(iris.Addr(":8080")) }
運行
go run main.go
新打開個窗口執行
curl http://localhost:8080
結果 Hello world!
或在瀏覽器 訪問http://localhost:8080
測試
現在對它進行簡單壓力測試
系統配置 1核 1G內存 , 操作系統:CentOS 7.4 64位
ab -n 10000 -c 1000 http://localhost:8080/ #結果 This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: Server Hostname: localhost Server Port: 8080 Document Path: / Document Length: 12 bytes Concurrency Level: 1000 Time taken for tests: 3.102 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 1280000 bytes HTML transferred: 120000 bytes Requests per second: 3223.45 [#/sec] (mean) Time per request: 310.227 [ms] (mean) Time per request: 0.310 [ms] (mean, across all concurrent requests) Transfer rate: 402.93 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 168 383.5 2 3013 Processing: 8 138 325.4 23 2005 Waiting: 1 137 325.5 22 2002 Total: 8 306 625.5 26 3067 Percentage of the requests served within a certain time (ms) 50% 26 66% 34 75% 59 80% 90 90% 1480 95% 1748 98% 1925 99% 3014 100% 3067 (longest request)