zoukankan      html  css  js  c++  java
  • go之web框架 iris

    前言

    最近开始学习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)
  • 相关阅读:
    python Asyncore.dispatcher 理解
    COCOA® PROGRAMMING FOR MAC® OS X (2)- Speak Line
    COCOA® PROGRAMMING FOR MAC® OS X (1)- Get Start
    Objetive-C initialize研究
    Objetive-C +load方法研究
    Python创建多进程,用Queue传递信息
    Python 中的GIL
    IOS CrackMe 破解学习
    越狱手机发送短信
    Vue 子组件向父组件传参
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/11062650.html
Copyright © 2011-2022 走看看