服务计算-开发 web 服务程序

概述

开发简单 web 服务程序 cloudgo,了解 web 服务器工作原理。

任务目标

  1. 熟悉 go 服务器工作原理
  2. 基于现有 web 库,编写一个简单 web 应用类似 cloudgo。
  3. 使用 curl 工具访问 web 程序
  4. 对 web 执行压力测试

任务要求

  1. 编程 web 服务程序 类似 cloudgo 应用。
    1. 支持静态文件服务
    2. 支持简单 js 访问
    3. 提交表单,并输出一个表格(必须使用模板)
  2. 使用 curl 测试,将测试结果写入 README.md
    使用 ab 测试,将测试结果写入 README.md。并解释重要参数。

实验过程

在网上搜索后,决定使用martini框架搭建个简单能用的web服务器

martini介绍

“Martini框架是使用Go语言作为开发语言的一个强力的快速构建模块化web应用与服务的开发框架”
在搜索大多数博客后,这是得到最简单且最能代表martini的一句话了,废话不多说,直接上代码,跑下helloworld看看先

安装

go get github.com/codegangsta/martini

先把库装上

编程 web 服务程序 类似 cloudgo 应用

在这里插入图片描述
然后就是简单的跑个hello world了
终端告诉我们他在3000端口上监听,直接进localhost:3000看一眼
在这里插入图片描述
ok, 简单的就hello world了,在网页显示了个hello world,简单分析下,是从打开这个网页时发了个get请求,而这个get路由就是指向着这个返回hello world的函数,打开当然会进行调用。

静态文件服务

在这里插入图片描述在这里插入图片描述
如图

curl测试

curl -v /url/

在这里插入图片描述

  1. StatusCode: 浏览器状态码,表示当前状态
  2. StatusDescription: 对于上述状态的描述
  3. Content: 网页的内容
  4. RawContent: 更多的细节内容,包含编码、日期等等
  5. Forms: 表格
  6. Headers: html中的headers
  7. Images: 网页中的图片,本网页没图片就没在上头
  8. InputFields: 输入框
  9. Links: 连结

ab测试

在windows要用ab测试得先安装
这是官方网站,去下载即可
https://www.apachehaus.com/cgi-bin/download.plx
在这里插入图片描述

ab -n 100 -c 100 /url/

-n为请求数、-c为并发数

  1. server host name: 伺服器主机名
  2. server port: 端口
  3. concurrency level: 并发数
  4. time taken for tests: 耗时
  5. complete request: 成功次数
  6. failed request: 失败次数
  7. total transferred: 传输字节数
  8. HTML transferred: 实际页面传输字节数
  9. requests per second: 每秒请求数
  10. time per request: 每个请求平均等待时间
  11. time per request: 服务器处理平均时间
  12. transfer rate: 传输速率

代码

https://gitee.com/crd39/service-computing-job-7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值