开发简单 web 服务程序 cloudgo

1. 框架选择:Martini

Martini是快速构建模块化web应用与服务的开发框架。其特点是模块化,方便与其他框架结合,同时其路由设计十分简洁实用,而灵活的中间件则给我们更多的自由发挥空间。
服务器代码:

package main

import (
	"github.com/go-martini/martini"
	flag "github.com/spf13/pflag"
	"fmt"
)

func main() {
  m := martini.Classic()
  port := flag.String("port", "", "port:default is 3000") //传入端口号
  flag.Parse()
  m.Get("/", func() string {
    return "Hello world!"
  })
  m.Get("/hello/(?P<name>[a-zA-Z]+)", func(params martini.Params) string {
	return fmt.Sprintf ("Hello %s\n", params["name"])
  })
  if *port == "" {
	m.Run()
  } else {
	m.RunOnAddr(":" + *port)
  }
}

2. curl 测试

1)运行服务器:
命令:go run server.go --port 9090
结果:
在这里插入图片描述
2)浏览器访问测试:
在这里插入图片描述
3)curl命令测试:
命令:curl -v http://localhost:9090/hello/testuser
结果:
在这里插入图片描述

3. ab 测试

1)测试环境:
Ubuntu
2)测试命令:
ab -n 1000 -c 100 http://localhost:9090/hello/your
3)测试结果:
在这里插入图片描述
4)重要参数解释:

字段含义
Server Software服务器软件名
Server Hostname服务器主机名
Server Port服务器端口
Document Path文件相对路径
Document Length文件大小
Concurrency Level并发等级
Time taken for tests测试一共花的时间
Complete requests完成的测试数
Failed requests失败的测试数
Total transferred传输的总的字节大小
HTML transferred传输的HTML文件大小
Requst per second平均每秒的请求个数
Time per request平均每个请求花的时间
Transfer rate传输速度
Connection Times表内描述了所有的过程中所消耗的最小、中位、最长时间。
Percentage of the requests served within a certain time每个百分段的请求完成所需的时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值