最近需要对缓存代理服务器的镜像重定向分发工具做压力测试,需要做到下面的要求:

1,为了保证流量足够大和不影响其他网络的正常访问,整个测试流程最好在局域内完成;

2,压测结果必须能够实时有效的显示

经研究提出了下面的解决方案,如图:

1,由webbench做压测客户端,压测结果可实时显示在界面上2,客户端到nginx web上请求,再有hijack模拟数据返回,具体操作流程如下:
A:hijack抓取网卡数据,并将构造的数据模拟nginx web返回给客户端
B:Nginx Web延迟数据返回,这个需要修改Nginx源代码才可以实现

Niginx修改到的http的入口程序源码文件——ngx_http_request.c

void
ngx_http_process_request(ngx_http_request_t *r)
{ngx_connection_t  *c;c = r->connection;//此处为修改到的源码ngx_msleep(16);
#if (NGX_HTTP_SSL)if (r->http_connection->ssl) {long                      rc;X509                     *cert;ngx_http_ssl_srv_conf_t  *sscf;if (c->ssl == NULL) {ngx_log_error(NGX_LOG_INFO, c->log, 0,"client sent plain HTTP request to HTTPS port");ngx_http_finalize_request(r, NGX_HTTP_TO_HTTPS);return;}sscf = ngx_http_get_module_srv_conf(r, ngx_http_ssl_module);if (sscf->verify) {rc = SSL_get_verify_result(c->ssl->connection);if (rc != X509_V_OK&& (sscf->verify != 3 || !ngx_ssl_verify_error_optional(rc))){ngx_log_error(NGX_LOG_INFO, c->log, 0,"client SSL certificate verify error: (%l:%s)",rc, X509_verify_cert_error_string(rc));ngx_ssl_remove_cached_session(sscf->ssl.ctx,(SSL_get0_session(c->ssl->connection)));ngx_http_finalize_request(r, NGX_HTTPS_CERT_ERROR);return;}if (sscf->verify == 1) {cert = SSL_get_peer_certificate(c->ssl->connection);if (cert == NULL) {ngx_log_error(NGX_LOG_INFO, c->log, 0,"client sent no required SSL certificate");ngx_ssl_remove_cached_session(sscf->ssl.ctx,(SSL_get0_session(c->ssl->connection)));ngx_http_finalize_request(r, NGX_HTTPS_NO_CERT);return;}X509_free(cert);}}}#endifif (c->read->timer_set) {ngx_del_timer(c->read);}#if (NGX_STAT_STUB)(void) ngx_atomic_fetch_add(ngx_stat_reading, -1);r->stat_reading = 0;(void) ngx_atomic_fetch_add(ngx_stat_writing, 1);r->stat_writing = 1;
#endifc->read->handler = ngx_http_request_handler;c->write->handler = ngx_http_request_handler;r->read_event_handler = ngx_http_block_reading;ngx_http_handler(r);ngx_http_run_posted_requests(c);
}

镜像分发工具压测解决方案——hijack压测相关推荐

  1. 不看我真的会很伤心【压测工具:提升系统性能的利器】,查看TPS,计算TPS,计算压测指标、压测名词解释、教大家如何压测

    目录 前言 一.压测是什么? 二.为什么要压测? 三. 压测名词解释 1.压测类型解释 2.压测名词解释 3.机器性能指标解释 4.访问指标解释 四.如何计算压测指标 五.常见的压测工具 1.JMet ...

  2. tcp压测工具_【解决方案】性能压测及分析调优实践

    [关键导读]结合一次重保活动的性能压测需求,详解了整体的性能测试策略及性能分析思路,并在实施过程中有效利用了网易易测的NPT性能测试平台一站式完成了压测场景设计.执行.业务指标监控.性能指标分析等活动 ...

  3. golang 压测工具vegeta改造-支持自定义压测任务

    背景 之前在公司做压测工作的时候,使用了web压测工具vegeta.后续又接到过dns的性能压测.redis的性能压测等任务.http的压测工具vegeta并不能满足需求了.于是模仿vegeta的li ...

  4. 物联网架构实例—部标过检工具使用(物联网套件压测)

    1.安装包 下载 2.安装MySQL数据库 如果安装时提示缺少C++ 2015的组件,需要执行vc_redist.x64.exe进行修改,直接双击执行vc_redist.x64.exe即可. 安装到这 ...

  5. 如何做好性能压测(一)丨压测环境设计和搭建

    简介:如何做好性能压测(一)丨压测环境设计和搭建 一般来说,保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则.有时候,即便是压测环境和生产环境有很细微的差别,都有可能导致整个压 ...

  6. java 解压文件_java实现解压zip文件,(亲测可用)!!!!!!

    项目结构: Util.java内容: package com.cfets.demo; import java.io.File; import java.io.FileOutputStream; imp ...

  7. ab压测与siege压测

    本文的核心内容:ab压测与Siege压测工具的使用. 为了测试接口的性能.我们需要对接口进行压力测试,看看接口能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响接口调用方的前端展 ...

  8. Jmeter 压测和AB压测的比较

    [使用场景] Jmeter告诉你每个请求实际上耗费多长时间.AB只是简单的用数学方式统计平均值.所以从准确性来说,jmeter比ab更准确,更多如数据处理.但是ab的速度更快,更轻巧.如果性能测试的目 ...

  9. 解压报错 你需要从上一压缩卷启动解压命令以便解压 解决方案及WinRAR怎么分卷压缩详解

    一.解决方案: 1.问题描述: 解压的时候报错,提示"你需要从上一压缩卷启动解压命令以便解压" 2.解决: 会出现这个问题,是因为你正在解压的文件为分卷压缩生成的压缩包.首先你要确 ...

  10. Jmeter阶梯式压测与普通压测区别

    1.普通的压测方式,并发的线程数是可预知的:而阶梯压测是未知的. 普通压测,只要参数不变,每次结束后,#Samples一定是线程数×循环次数. 而阶梯式压测,每次的Samples都是变化的. 注:一个 ...

最新文章

  1. EventBus简单分析
  2. c语言大整数除法思路,大整数除法
  3. cookie与session区别|详细版
  4. 阿里云Linux的mysql安装,使用yum安装
  5. 矩形分割(洛谷P1324题题解,Java语言描述)
  6. VS2012+WDK7600.16385.1 驱动环境配置(模板导出)
  7. 数据库快照,自定义函数与计算列
  8. Windows cmd 颜色,字体,color font set up
  9. Unity3D基础33:物理射线
  10. PyTorch学习笔记(五):模型定义、修改、保存
  11. GPG终极指南(加密/签名)
  12. 全球十大黑客(第一让你不敢想象)
  13. 亚马逊测评自养号IP重要性
  14. Java解析富文本rtf中文乱码
  15. java lzw_lzw在java中解压缩
  16. XYNUOJ Six Degrees of Separation
  17. Vue的模板语法及案例
  18. 人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python
  19. 微信小程序从零开始开发步骤(一)
  20. 中国式家长——旅行者困境

热门文章

  1. 什么是用户实体行为分析(UEBA)
  2. 读《创业36条军规》(六)凡事只能靠自己
  3. Eclipse常用便捷设置
  4. springboot2集成shiro认证鉴权(上篇)
  5. 七大热门小程序框架横评,谁是性能之王
  6. 《动手学深度学习》组队学习打卡Task5——卷积神经网络进阶
  7. javaweb重定向——登录页面跳转到首页
  8. PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
  9. 图片放大后不清楚怎么办?
  10. 关于如何去实现百度的自动发帖功能猜想