常用组件的一些数据指标

QPS

metrics 机制,利用 AtomicLong 算出核心接口每分钟调用多少次(除以 60 就是高峰期每秒访问次数)以及每天被调用总次数

TP99 = 100ms , 99%的接口耗时在 100ms以内,1%的接口耗时在100ms以上

TP95 = 100ms , 95%的接口耗时在 100ms以内,5%的接口耗时在100ms以上

平均响应延时 = (每次调用的耗时 + 历史总耗时 )/ 当前请求的总次数

最大 QPS
假设最大 QPS 为 800 ,当压测工具每秒发起 1000 个请求的时候,只有 800个可以同时被处理,200 个在排队被阻塞住

lvs+nginx

详情链接

一个大致的配置可能包括:

硬件配置:4台高性能的服务器,每台配备多核 CPU、大容量内存和高速磁盘;例如,每台服务器有 16 核 CPU、64GB 内存、SSD 硬盘等。

网络带宽:每台服务器具有较高的网络带宽,例如千兆或更高的带宽。

LVS:LVS 作为负载均衡器,配置为四台服务器的后端。

Nginx:Nginx 配置为每台服务器的前端,用于处理 HTTP 请求并进行负载均衡。Nginx 配置了反向代理、缓存策略和负载均衡算法等。

Keepalived:用于实现高可用性,确保负载均衡器的高可用性。

对于这样的配置,大概能抗的并发连接数可能在数十万到数百万级别。然而,这个估计仅供参考,实际的性能还会受到请求类型、网络流量、优化设置等多种因素的影响。最准确的评估方法是进行压力测试,模拟实际负载并评估集群的性能极限。

数十万到数百万并发

nginx

中等nginx配置
处理器:4核或以上
内存:8GB或以上
存储:SSD硬盘
网络:1Gbps带宽

单台nginx一般能抗数万到数十万个并发数

同时,Nginx的并发连接数也可以通过调整Nginx的配置文件来进行优化,例如调整worker_processes和worker_connections参数。这些参数的调整需要根据具体的硬件配置和应用需求来进行评估和优化

redis

单机6-8w qps,采用claster分片模式理论上可以横向扩容

rabbitMq

万级并发,主从结构,存在单机瓶颈,横向扩容有限
中小公司 4核8GB

rocketMq

十万级并发
分布式架构,横向扩容无压力

kafka

十万级
分布式架构,横向扩容无压力

mysql

16 核 32G,物理机,高峰期每秒几千(三四千的时候,网络负载比较高,CPU 使用率比较高,I/O 负载比较高)请求问题不大

数据库换成32 核 128G (每秒抗住几千请求问题不大)

采用分库分表、读写分离(一主一备两从,两主两从等),再怎么优化很难超过10w级 qps

固态硬盘

IOPS 大概在 3 万左右

eureka

配置 8核 16G 单台,16 核 32G,每台机器每秒钟的请求支撑几千绝对没问题,可以支撑上千个服务

建议3~5台左右配置就可以了

中小型公司 20~30 个服务,注册中心 2 ~3 台机器(4 核 8G),每秒抗上千请求
注册中心优化服务注册和发现配置
注册表多级缓存同步 1 秒,注册表拉取频率 1 秒
服务心跳 1 秒上报一次,服务故障发现 1 秒,发现 2 秒内服务没上报心跳,就故障

zuul

每秒并发在1000 以内,每个服务部署 2 台机器,每台机器 4 核 8G,每台机器抗几百请求一点问题都没
大部分系统高峰期每秒几百请求,低峰期每秒几十请求,几个请求

springCloudGateway

每台机器 8 核 16G 能抗2000左右,springCloudGateway性能是比较吃cpu和内存的

elasticSearch

一般单台4核16g、8核32g
es不吃cpu,吃内存和磁盘,磁盘ssd
内存不能少于8g(可能不够用)也不要超过64g(超过64jvm内存回收不太友好)

一般来说qps几万级是可以支撑的,写入qps也可以达到上万
(最终还是压测为准,分片量,数据量,参数配置这些做对应优化)

一次用户请求时长

一般互联网类的企业,对用户的直接操作,一般要求每个请求都必须在 200ms以内,对用户几乎是无感知的。

示例cat查看指标
在这里插入图片描述

在这里插入图片描述

一次数据库查询时长

在十毫秒级别完成一次简单的查询

binlog同步延迟

十毫秒级别(几毫秒到十几毫秒不等)

一次rpc接口调用时长

30毫秒左右,最好在50毫秒以内(十几毫秒到几十毫秒不等)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CUMT--Java复习--网络编程

目录 一、Java网络API 1、InetAddress类 2、URL类 3、URLConnection类 4、URLDecoder类和URLEncoder类 二、基于TCP的网络编程 1、Socket类 2、ServerSocket类 三、网络通信过程 一、Java网络API Java中有关网络方面的功能都定义在java.net中。 1、InetAddress类 Jav…

AP有信号,但没有注册到AC上的排查

1、有wifi信号收到,并且可以连接,但A P没有获取到地址。 1.AP没有获取到地址,那么就一定没办法找到AC到地址进行注册。 2、交换侧现象: dis poe power 查看端口供电情况。 3、有供电,但没有UP。 4、判断为配…

如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问

作者简介: 懒大王敲代码,计算机专业应届生 今天给大家如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 前言…

设计模式--桥接模式

实验9:桥接模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解桥接模式的动机,掌握该模式的结构; 2、能够利用桥接模式解决实际问题。 [实验任务]:两个维度的桥接模式 用桥接模式…

JuiceSSH结合内网穿透实现公网远程访问本地Linux虚拟机

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

Ubuntu系统如何安装SVN服务端并通过客户端无公网ip实现远程访问?

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

Houdini 20版本 功能概述

SideFX 发布了 Houdini 20 预览版,这是其用于视觉特效、游戏开发和动态图形的程序 3D 软件的下一个主要版本,Houdini 20.0 对软件的主要工具集进行了更新,特别是角色装备和动画、模拟工具以及 Karma 渲染器。 Houdini 20新功能亮点 渲染 视频…

玩转大数据22:常见的关联规则挖掘算法

引言 关联规则挖掘是数据挖掘中的一种重要技术,主要用于发现数据集中项之间的有趣关系。关联规则挖掘在许多领域都有广泛的应用,如市场篮子分析、推荐系统等。常见的关联规则挖掘算法包括Apriori算法和FP-Growth算法。 一、Apriori算法 关联规则挖掘是…

制作一个可以离线安装的Visual Studio安装包

须知 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,怎么判断容量够用?由组件数量的多少来决定。Visual Studio 频道和发布节奏 https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm…

Linux上iPortal 配置80端口的http

作者:yx 文章目录 前言方法一、配置使用外置ES1、关闭启用 iPortal 内置的 ES2、修改80端口3、启动外置ES4、启动iPortal5、结果验证 方法二、更改 Linux 系统配置1. 安装 Authbind2. 启用端口的读取和执行权限3. 在 Apache Tomcat 上启用 Authbind4. 重启iPortal5.…

Mysql高级函数——GROUP_CONCAT

Mysql高级函数——GROUP_CONCAT 前言仰天大笑出门去,我辈岂是蓬蒿人 前言 大概内容: 在MySQL中,可以使用GROUP_CONCAT函数来实现将多个数据拼接为一个字符串的功能。GROUP_CONCAT函数接受一个参数,用于指定要拼接的数据列&#x…

【Unity3D日常BUG】Unity3D中编辑完代码后卡在Reload Scripts Assemblies界面的解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 首先,说明一下,每个人对于BUG的定义不一…

【多线程及高并发 二】线程基础及线程中断同步

👏作者简介:大家好,我是若明天不见,BAT的Java高级开发工程师,CSDN博客专家,后端领域优质创作者 📕系列专栏:多线程及高并发系列 📕其他专栏:微服务框架系列、…

SpringCloud和Dubbo有哪些区别

🍎个人博客:个人主页 🏆个人专栏: Spring ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 介绍 Spring Cloud: Dubbo: 选择: 区别 结语 我的其他博客 前言 构建分布式系统是…

Netty组件基础

Netty入门简介 netty是一个异步、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。 Netty优势 Netty解决了TCP传输问题,如黏包、半包问题,解决了epoll空轮询导致CPU100%的问题。并且Netty对API进行增强&#xf…

Playbook中jinja2模板的使用

本章主要介绍playbook中如何使用jinja2模板 什么是jinja2模板在jinja2模板文件中写if判断语句在jinja2模板文件在写for循环语句handlers的使用 可以使用copy模块把本地的一个文件拷贝到远端机器,下面再次复习一下 本章实验都在demo4文件夹下操作,跟之…

【RocketMQ】Console页面报错:rocketmq remote exception,connect to xxx failed.

现象 console报错,无法连接该节点,把该节点杀掉,还是继续报错,重启之后,报错的端口变成11911。 分析 正常一个broker会启动三个端口,不同版本的规律不太一样,4.X版本是: 配置文件…

软件工程经济学习题 答案(不保证对错,找不到答案)

一、资金等值计算 1.某IT企业今年向银行贷款20万元以购置一台设备。若银行贷款利率为10%,规定10年内等额偿还,试求每年的偿还金额。 2.某软件企业向银行贷款200万元,按年利率为8%进行复利计息,试求该企业第5年末连本带利一次偿还银…

计算机视觉技术-使用图像增广进行训练

让我们使用图像增广来训练模型。 这里,我们使用CIFAR-10数据集,而不是我们之前使用的Fashion-MNIST数据集。 这是因为Fashion-MNIST数据集中对象的位置和大小已被规范化,而CIFAR-10数据集中对象的颜色和大小差异更明显。 CIFAR-10数据集中的前…

Cost Calculator Builder PRO v3.1.46 已注册 – WordPress 插件

成本计算器生成器 PRO v3.1.46:WordPress 插件全解析 一、插件概述 "成本计算器生成器 PRO v3.1.46"是一款强大的WordPress插件,专为需要创建报价、价格和项目估算表的用户设计。这款插件集成了众多高级功能,可帮助用户高效地管理…