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)
  • 相关阅读:
    Notepad++使用-如何导出/导入配置文件
    浏览器清除页面JS文件缓存的方法
    如何搭建一个简易的Web框架
    Visual Studio Code插件Code Runner中文乱码问题
    【笔记】做一个winform时遇到的坑
    【笔记】使用腾讯地图坐标转换
    使用js检测用户是否在用微信浏览器浏览网站
    phonegap+百度地图导航(JS版)
    浮躁的人
    【笔记】自动生成一个不重复的字符串
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/11062650.html
Copyright © 2011-2022 走看看