服务计算:简单的web程序

CloudGo


框架选择

看了go的一些框架如beego和iris觉得挺好的,本来想用,但是虚拟机出了点问题装不成(windows上装成了没ab指令),所以使用官方的net/http库做简单的实验。

看完beego和iris的特性我还是比较想用iris的,它是Web框架里最快的,但是做的是简单的helloworld测试用net/http库我觉得也没差多少。

服务器代码

package main

import (
	"net/http"
	"fmt"
)

//简单的响应函数
func test(w http.ResponseWriter,r *http.Request){
	fmt.Fprint(w, "Hello, World!")
}

func main() {
	//localhost:3000/时的响应方法为test
	http.HandleFunc("/",test)
	//开启端口
	http.ListenAndServe(":3000",nil)	
}

服务器测试

在这里插入图片描述

在这里插入图片描述

curl测试

在这里插入图片描述
可以正常访问

ab测试

ab -n 10000 -c 100 http://localhost:3000/

在这里插入图片描述

  • 测试环境:Ubuntu16.04
  • 测试请求数:10000
  • 测试结果重要参数:
字段含义
Server Hostname服务器主机名
Server Port服务器端口
Document Path文件路径
Document Length文件大小
Concurrency Level并发等级
Requst per second平均每秒的请求个数。服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
吞吐率是基于并发用户数的。这句话代表了两个含义:
a、吞吐率和并发用户数相关。
b、不同的并发用户数下,吞吐率一般是不同的。
计算公式:总请求数/处理完成这些请求数所花费的时间,即:Request per second=Complete requests/Time taken for tests.这个数值表示当前机器的整体性能,值越大越好。
Time per request用户平均的等待时间。
计算公式:总请求数/处理完成这些请求数所花费的时间,即:Request per second=Complete requests/Time taken for tests.这个数值表示当前机器的整体性能,值越大越好。
Time per request:across all concurrent requests计算公式:处理完成所有请求数所花费的时间/总请求数,即:Time taken for/testsComplete requests.
可以看到,它是吞吐率的倒数。同时,它也等于用户平均请求等待时间/并发用户数,即Time per request/Concurrency Level。
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、付费专栏及课程。

余额充值