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)
  • 相关阅读:
    新创建django项目,但网页打不开127.0.0.1:8000
    列表计算整数出现次数,并以次数大小重新排序
    Appium+python自动化
    笔试考试系统--学生管理加载和添加
    笔试考试系统--MVC实现登录
    笔试考试系统--配置EF;运行单元测试
    笔试考试系统--项目搭建及用Log4Net记录日志
    笔试考试系统--第一天需求分析及数据库设计
    笔试考试系统--引言
    不用加减乘除做加法,求2个数的平均数
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/11062650.html
Copyright © 2011-2022 走看看