当前位置: 首页 > news >正文

南昌做网站优化百度用户服务中心人工电话

南昌做网站优化,百度用户服务中心人工电话,北京网页制作设计公司,网站建设无法访问网站压测工具ab不能统计http请求的错误情况,包括http状态码错误和响应正文的错误关键字。 所以加层代理用于统计http错误情况,重在统计错误情况,而不是代理的性能,主要用于功能接口的测试,比如测试一下请求多少次接口会返…

压测工具ab不能统计http请求的错误情况,包括http状态码错误和响应正文的错误关键字。

所以加层代理用于统计http错误情况,重在统计错误情况,而不是代理的性能,主要用于功能接口的测试,比如测试一下请求多少次接口会返回空数据。

被认为是错误的情况

1、非200状态码

2、响应正文里不包含表示正确关键字

3、响应正文里包含表示错误关键字

编译方式:

go build go_ab_proxy.go

启动方式:

./go_ab_proxy

./go_ab_proxy -okstr 'code":"0'

./go_ab_proxy -failstr error

测试方式:

ab -c 2 -n 10 -X 127.0.0.1:9090 'http://www.baidu.com/'

curl -x 127.0.0.1:9090 'http://www.baidu.com/'

查看错误统计:

ctrl-c或kill结束进程时显示统计结果。

golang代码如下:

go_ab_proxy.go

package mainimport ("bytes""flag""fmt""net/http""net/http/httputil""os""os/signal""strings""sync/atomic""syscall"
)var (successCount int32failCount    int32okStr        = flag.String("okstr", "", "indicate ok string")failStr      = flag.String("failstr", "", "indicate fail string")
)func main() {flag.Parse()if *okStr != "" && *failStr != "" {fmt.Printf("-okstr and -failstr only one can be used\n")return}http.HandleFunc("/", middleware(func(w http.ResponseWriter, r *http.Request) {proxy := httputil.NewSingleHostReverseProxy(r.URL)proxy.ServeHTTP(w, r)}))go installSignal()err := http.ListenAndServe(":9090", nil)if err != nil {fmt.Printf("proxy server start fail, %v\n", err)return}
}func middleware(handler http.HandlerFunc) http.HandlerFunc {return func(response http.ResponseWriter, request *http.Request) {responseWrapper := &ResponseWithRecorder{ResponseWriter: response,StatusCode:     http.StatusOK,Body:           bytes.Buffer{},}handler(responseWrapper, request)if responseWrapper.StatusCode != http.StatusOK {atomic.AddInt32(&failCount, 1)} else {if *okStr == "" && *failStr == "" {atomic.AddInt32(&successCount, 1)return}resBody := string(responseWrapper.Body.Bytes())if *okStr != "" && !strings.Contains(resBody, *okStr) {atomic.AddInt32(&failCount, 1)return} else if *failStr != "" && strings.Contains(resBody, *failStr) {atomic.AddInt32(&failCount, 1)return}atomic.AddInt32(&successCount, 1)}}
}func installSignal() {sigs := make(chan os.Signal, 1)signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)go func() {<-sigsfmt.Printf("successCount=%d, failCount=%d\n", atomic.LoadInt32(&successCount), atomic.LoadInt32(&failCount))os.Exit(0)}()
}type ResponseWithRecorder struct {http.ResponseWriterStatusCode intBody       bytes.Buffer
}func (rec *ResponseWithRecorder) WriteHeader(statusCode int) {rec.ResponseWriter.WriteHeader(statusCode)rec.StatusCode = statusCode
}func (rec *ResponseWithRecorder) Write(d []byte) (n int, err error) {n, err = rec.ResponseWriter.Write(d)if err != nil {return}rec.Body.Write(d)return
}

--end--

http://www.ds6.com.cn/news/36680.html

相关文章:

  • 做原油的网站免费制作永久个人网站
  • 武汉黎明网站建设广告资源发布平台
  • 概述网站建设的流程软文接单平台
  • 招远做网站联系电话百度霸屏推广靠谱吗
  • 徐州睢宁网站建设百度推广助手
  • 微信公众号手机网站开发seo站外推广有哪些
  • 信誉好的企业网站开发创建网页
  • wordpress全局pjaxseo 怎么做到百度首页
  • wordpress存储深圳sem优化
  • 免费企业网站制作营销网站建设培训学校
  • mvc做网站优化网站建设
  • 做网站的公司 设计好青岛网络优化厂家
  • 如何做一家门户网站seo公司发展前景
  • 建设电子商务网站目的社群营销的方法和技巧
  • 廊坊网站搜索优化百度资源分享网
  • 如何偷别人dedecms网站的模板培训机构好还是学校好
  • 网页跳转到别的网站怎么提高关键词搜索排名
  • 做网站难吗windows优化大师最新版本
  • 垂直汽车网站做电商的优势国内新闻大事20条简短
  • 网站维护公司广州最新新闻国内大事件
  • 动漫做的游戏 迅雷下载网站有哪些推广产品的软文
  • 湖州市南浔区建设局网站如何进行网站推广
  • 做网站系统学校广东: 确保科学精准高效推进疫情
  • 新手如何建立自己网站在线咨询 1 网站宣传
  • 日本人在床上做裸身体网站啊长沙seo公司排名
  • 计算机做网站难吗软件测试培训班多少钱
  • 网站的icp 备案信息成都电脑培训班零基础
  • asp.net 4.0网站开发与项目实战(全程实录)(附光盘)自助建站系统软件
  • 展示系统 网站模板百度一下官方入口
  • 网站域名备案与解析营销模式有几种