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

南昌做网站优化24小时自助下单平台网站便宜

南昌做网站优化,24小时自助下单平台网站便宜,wordpress 网页模块错位,手机网站制作解决方案压测工具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.hengruixuexiao.com/news/15681.html

相关文章:

  • 有没有可以做翻译的网站吗seo快速推广
  • delphi可以做网站吗域名邮箱 400电话
  • 网站上的文章做参考文献seo查询排名软件
  • 深圳成交型网站建设网站查询地址
  • 刚备案的域名如何做网站微信推广文案
  • 网站策划文案郑州网络推广软件
  • 网站建站素材百度网站app
  • 哪些网站教你做美食的违禁网站用什么浏览器
  • 莆田cms建站模板短视频怎么赚钱
  • wordpress去除右下角seo排名查询工具
  • 常德网站开发seo搜索优化是什么
  • 手机建站cms成都谷歌seo
  • 泰安网站建设推广我们seo
  • 小说阅读网站开发设计夫唯seo
  • 北京企业网站备案技能培训机构
  • 游戏道具网站开发网站模板免费
  • 怎样做招聘网站分析北京推广
  • wordpress 后台地址加www 打不开seo网站推广是什么意思
  • 自贡市住房和城乡建设局网站搜狗友链交换
  • 麓谷做网站的公司百度seo优化招聘
  • 新网站怎么做seo 风享推广一般收多少钱
  • dedecms公司网站怎么做现在什么网络推广好
  • 外贸英文网站搭建的公司刷seo排名
  • 太原市建设厅网站首页提供seo服务
  • 镇江个人网站建设seo专员工作内容
  • 网站制作怎么做图标优化师和运营区别
  • 辽宁智能建站系统价格搜索引擎网页
  • 深圳美容网站建设seo薪酬
  • wordpress响应式模板工业用好口碑关键词优化地址
  • 河北高端网站设计公司如何自己开个网站平台