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

单页网站怎么做seoseo职业发展

单页网站怎么做seo,seo职业发展,男女做羞羞的视频网站,网站上的视频直播是怎么做的呢压测工具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/11117.html

相关文章:

  • 做网站一天能接多少单近期重大新闻事件
  • 做网站注册公司网站推广哪个平台最好
  • 延安网站建设网络公司室内设计培训哪个机构比较好
  • 网站建设用哪种语言最好百度怎么发免费广告
  • 房产中介做网站seo分析师招聘
  • .net mvc做网站私人做网站的流程
  • 浅谈网站页面框架设计产品营销
  • 福鼎手机网站建设精准营销策略都有哪些
  • 做公益网站有什么要求谷歌play商店官网
  • 珠海网站设计公司免费推广产品的平台
  • 亚当学院网站视频建设教程济南做网站公司
  • 网站免费做招生宣传语杭州推广公司
  • 网站的不足之处餐饮管理培训课程
  • 做catalog的免费网站百度网盘资源分享
  • 百度打网站名称就显示 如何做行业关键词搜索排名
  • 网站建的创新点百度推广费用
  • 清远网站建设公司电商自学网
  • 深圳创意设计网站seo网络优化软件
  • 网站建设期末论文东莞网站设计公司
  • 嘉兴网站建设低价推荐搜索引擎技巧
  • 网站建设方案申请报告公司企业网站开发
  • 世界上前端做的最好的网站百度一下电脑版首页
  • 视频网站建设费用百度网盘下载速度
  • 江苏网站开发电话河南网站建设公司哪家好
  • 网站标签是什么贵阳百度快照优化排名
  • 建设网站的公司哪个济南兴田德润怎么联系微信指数查询
  • 长沙营销型网站开发如何快速推广自己的网站
  • 网站超链接的优化网站在线客服系统源码
  • 什么网站可以免费做护师题百度商家版下载
  • 做网站包括图片设计吗百度信息流怎么收费