[Linux] haproxy地址映射实现性能测试

背景

需要虚拟1万个网元做性能测试,前提是已经有网元模拟器,可以在服务器上批量起虚拟IP, 每个虚拟IP对应一个网元进程,但是一台服务器的CPU数量有限,不可能起1万个模拟器进程。于是结合haproxy,将frontend的1万个IP映射到backend的40个虚拟IP (CPU数量>40)。

IP地址规划

前端 1万个虚拟IP

47.0.1.1 ~ 47.0.1.250

47.0.2.1 ~ 47.0.2.250

...

47.0.40.1 ~ 47.0.40.250

后端  40个虚拟IP,对应40个线程(40个CPU)

47.0.1.1 ~ 47.0.1.20

47.0.2.1 ~ 47.0.2.20

haproxy配置

/etc/haproxy/haproxy.cfg

global
...maxconn     10000 # 改大连接数 5000 -> 10000...defaultsmode                    tcp       # http -> tcplog                     global#option                  httplog  # 注释掉或删掉option                  tcplogoption                  dontlognull
...frontend pcscfsimmode tcp         #tcpbind *:1830      #前端端口acl dst_ip1 dst 47.0.1.0/24acl dst_ip2 dst 47.0.2.0/24...acl dst_ip19 dst 47.0.19.0/24acl dst_ip20 dst 47.0.20.0/24use_backend backapp1          if dst_ip1use_backend backapp2          if dst_ip2...use_backend backapp1          if dst_ip19use_backend backapp2          if dst_ip20backend backapp1balance     roundrobin             #轮询方式server  app1 47.0.1.1:1831 check   #后端端口1831server  app2 47.0.1.2:1831 check...server  app19 47.0.1.19:1831 checkserver  app20 47.0.1.20:1831 checkbackend backapp2balance     roundrobinserver  app21 47.0.2.1:1831 checkserver  app22 47.0.2.2:1831 check...server  app39 47.0.2.19:1831 checkserver  app40 47.0.2.20:1831 check

说明:

前端 47.0.1.0/24 即模拟器对应的 47.0.1.1:1830 ~ 47.0.1.250:1830 等10段IP, 会以roundrobin的方式映射到后端的app1~app20,即47.0.1.1:1831 ~ 47.0.1.20:1831;

前端 47.0.2.0/24 即模拟器对应的 47.0.2.1:1830 ~ 47.0.2.250:1830 等10段IP, 会以roundrobin的方式映射到后端的app21~app40,即47.0.2.1:1831 ~ 47.0.2.20:1831

后端的 47.0.1.1:1831 ~ 47.0.1.20:1831 和 47.0.2.1:1831 ~ 47.0.2.20:1831 对应40个模拟器线程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net core 网页接入微信扫码登录

创建微信开放平台账号&#xff0c;然后创建网页应用 获取appid和appsecret 前端使用的vue&#xff0c;安装插件vue-wxlogin 调用代码 <wxlogin :appid"appId" :scope"scope" :redirect_uri"redirect_uri"></wxlogin> <scri…

实现商品下拉框筛选

我们在购买商品的时候会出现下拉框供我们选择商品的类型或者想要便宜一点的商品&#xff0c;我们对商品进行排序等&#xff1b;那么如何实现呢&#xff1f;我在写项目的时候遇到了这个功能&#xff0c;我给大家讲一下我的实现思路。 首先&#xff0c;我们先先写一个select框&a…

【备忘】composer国内镜像列表

为方便使用自己整理了一份&#xff1a; 腾讯云&#xff1a; composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/ 阿里云 composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/ 中国全量镜像 composer …

机器学习和深度学习 --李宏毅(笔记与个人理解)Day 18

Day 18 Spatial Transformer Layer 因为单纯的cNN无法做到scaling&#xff08;放大&#xff09;and rotation&#xff08;转&#xff09;&#xff0c;所以我们引入&#xff1b; 实战中也许我们可以做到 是因为 我们的training data 中包含了对data 的augmentation&#xff1b; …

解锁智能未来:用Ollama开启你的本地AI之旅

Ollama是一个用于在本地运行大型语言模型&#xff08;LLM&#xff09;的开源框架。它旨在简化在Docker容器中部署LLM的过程&#xff0c;使得管理和运行这些模型变得更加容易。Ollama提供了类似OpenAI的API接口和聊天界面&#xff0c;可以非常方便地部署最新版本的GPT模型并通过…

【项目精讲】Swagger接口文档以及使用方式

Swagger 介绍 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/) 前后端分离开发&#xff0c;有利于团队合作接口的文档在线自动生成&#xff0c;降低后端开发人员编写接口文档的负担功能测试 如何使…

企业邮箱价格调查:找到适合你的最佳选择

企业邮箱价格从免费到几百元的都有&#xff0c;价格不同获得的功能和服务也不同&#xff0c;按需购买。企业邮箱多少钱一年&#xff1f;企业邮箱价格。Zoho Mail企业邮箱轻量版300元/5用户/年&#xff0c;高级版200元/用户/年&#xff0c;套件版150元/用户/元。具体的价格取决于…

Unity发布Andriod构建失败各种原因汇总

工程路径不能有中文(老生常谈了)计算机用户名不能是中文,改完重启注意上方截图,我的用户名那时候是中文的.我是最后在解决这个问题以后成功的删除C:\Users\Administrator\.gradle目录(让Unity重新构建此目录)删除.C:\Users\Administrator\.android目录(解决构建时密钥报错问题)…

《HF经理》:一、管理误区

1、不善授权: 原因&#xff1a;不信任下属&#xff0c;惯性思维&#xff08;任务一来自己冲到最前面&#xff09; 对策&#xff1a;从个人成功到带领团队成功。培养并信任下属。 2、不主动寻求上级支持: 原因&#xff1a;上级不仅仅是你的监督和考核者&#xff0c;还是你的支…

两分钟启动一个flask应用

安装依赖 pip install flask -i https://pypi.douban.com/simple pip install flask_cors -i https://pypi.douban.com/simple简单示例 # app.py from flask import Flask, request, send_from_directory, jsonify from flask_cors import CORSapp Flask(__name__) # 创建fl…

计算机网络 Cisco静态路由实验

一、实验要求与内容 1、路由器的基本配置 &#xff08;1&#xff09;命名 &#xff08;2&#xff09;关闭域名解析 &#xff08;3&#xff09;设置路由接口IP地址 2、配置静态路由以实现所有客户机都能互相通信 3、配置默认路由 4、了解ping命令和trace&#xff08;跟踪…

Python常用OS库之path模块学习

学习python没有太多捷径&#xff0c;有也只有技巧&#xff0c;更重要的是要多学多练&#xff0c;个人觉得练更重要&#xff0c;读万卷书不如行万里路。编程是一门技能&#xff0c;所以除了看还要多实践&#xff0c;写得多了自然也就有了路。 如果看全部的标准库文档&#xff0…

基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“外卖点餐系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能图 用户功能界面 订单管理界面 配送单管…

js禁用所有的input

要在JavaScript中禁用所有的input元素&#xff0c;您可以使用document.querySelectorAll方法来选择所有的input元素&#xff0c;然后使用一个循环来为它们设置disabled属性。以下是实现这一功能的示例代码&#xff1a; // 选择所有的input元素 const inputs document.querySel…

Python 字典组成的数组怎么进行去重?

你知道吗&#xff1f;如果数组是字典组成的&#xff0c;直接对数组内的字典采用 set 的方式进行去重&#xff0c;会报错&#xff1a; test [{"a": 1}, {"a": 1}, {"a": 3}, {"b": 4}] test list(set(test)) >>> TypeError…

设计模式——迭代器模式15

迭代器模式提供一种方法访问一个容器对象中各个元素&#xff0c;而又不需暴露该对象的内部细节。 设计模式&#xff0c;一定要敲代码理解 抽象迭代器 /*** 迭代抽象* */ public interface Iterator<A> {A next();boolean hasNext(); }迭代器实现 /*** author ggbond*…

极市平台 | 卫星图像公开数据集资源汇总

本文来源公众号“极市平台”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;卫星图像公开数据集资源汇总 本文收集整理了卫星图像的开源数据集&#xff0c;多用于图像分割方向&#xff0c;希望能给大家的学习带来帮助。 1 水体卫…

Vue 3中的反向代理 和如何在服务器配置反向代理

如何在Vue 3项目中配置反向代理&#xff0c;让前端开发变得爽到爆&#xff01;还有个小插曲&#xff0c;Vite为我们提供了更简单的方式&#xff0c;就像找对象一样直接。 首先&#xff0c;我们来谈谈反向代理是什么。简单来说&#xff0c;反向代理就像是前端和后端之间的婚姻介…

DHCP是什么意思 路由器中DHCP服务器怎么设置?

概述 DHCP是什么意思&#xff1f;很多朋友在路由器设置中&#xff0c;都会看到有一项“DHCP服务器”设置功能&#xff0c;而很多朋友对这个功能不太了解&#xff0c;也不知道怎么设置。其实&#xff0c;对于普通用户来说&#xff0c;无需去单独设置路由器DHCP服务器功能&#…

CMake快速入门

文章目录 目的环境准备快速入门总结 目的 C/C的代码可以直接使用编译工具链进行编译&#xff0c;这种方式文件一多就不方便了。也可以编写 Makefile 然后使用 make 进行编译&#xff0c;当然写 Makefile 其实也挺繁琐。对于大型项目比较流行的是编写 CMakeLists.txt 然后使用 …