吞吐量

如何调整MQ的吞吐量

夙愿已清 提交于 2019-11-28 18:04:46
1. kafka和RocketMQ一个cosumer可以消费多个分区/队列 (平摊) 比如有8个分区/队列,三个消费者机器,那么每个消费者消费的分区/队列的个数分别是 3、3、2: 2. 单机多线程消费: RocketMQ 设置某一个单例的consumer 对象的Pool Thread Num 来实现多线程消费,内部实现了一个ThreadPoolExcutors(setConsumeThreadMin、setConsumeThreadMax); kafka里面的consumer是线程不安全的,只能在一个thread里面pull,但是可以同时创建多个线程,每个线程里面实例化一个consumer实现多线程消费。无论是Kafka还是RocketMQ,他们同时消费的能力是受限于分区或者队列的数量。 但是单机多线程消费一定要控制好线程数量,避免数量设置的过多导致CPU负载过高,就失去了MQ的削峰填谷的作用. 3. 根据消费服务的机器配置、消费速度、容忍的消费延时 “反推”应该配置多少分区. 机器配置高,消费速度快 ,cpu总是闲着,那么就增加分区,然后增加kafka单机cosumer数量 机器配置差,消费速度慢,消费延时太高了,那么也增加分区,然后服务扩容几台机器 来源: https://my.oschina.net/u/4129361/blog/3098239

性能测试分析过程(一)

一个人想着一个人 提交于 2019-11-28 09:37:48
某月黑风高之夜,某打车平台上线了一大波(G+)优惠活动,众人纷纷下单。于是乎,该打车平台使用的智能提示服务扛不住直接趴窝了(如下图)。事后,负责智能提示服务开发和运维的有关部门开会后决定:必须对智能提示服务进行一次全面深入的性能摸底,立刻!现在!马上! 那么一大坨问题就迎面而来:对于智能提示这样的后台服务,性能测试过程中应该关心那些指标?这些指标代表什么含义?这些指标的通过标准是什么?下面将为您一一解答。 概述 不同人群关注的性能指标各有侧重。后台服务接口的调用者一般只关心吞吐量、响应时间等外部指标。后台服务的所有者不仅仅关注外部指标,还会关注CPU、内存、负载等内部指标。 拿某打车平台来说,它所关心的是智能提示的外部指标能不能抗住因大波优惠所导致的流量激增。而对于智能提示服务的开发、运维、测试人员,不仅仅关注外部指标,还会关注CPU、内存、IO等内部指标,以及部署方式、服务器软硬件配置等运维相关事项。 外部指标 从外部看,性能测试主要关注如下三个指标 吞吐量:每秒钟系统能够处理的请求数、任务数。 响应时间:服务处理一个请求或一个任务的耗时。 错误率:一批请求中结果出错的请求所占比例。 响应时间的指标取决于具体的服务。如智能提示一类的服务,返回的数据有效周期短(用户多输入一个字母就需要重新请求),对实时性要求比较高,响应时间的上限一般在100ms以内。而导航一类的服务

性能测试指标:TPS,吞吐量,并发数,响应时间

和自甴很熟 提交于 2019-11-28 08:39:12
性能测试指标:TPS,吞吐量,并发数,响应时间 常用的网站性能测试指标有:TPS、吞吐量、并发数、响应时间、性能计数器等。 并发数 并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。 响应时间 响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。 吞吐量 吞吐量是指单位时间内 系统能处理的请求数量 ,体现系统处理请求的能力,这是目前最常用的性能测试指标。 QPS(每秒查询数)、TPS(每秒事务数) 是吞吐量的常用量化指标 ,另外还有HPS(每秒HTTP请求数)。 跟吞吐量有关的几个重要是:并发数、响应时间。 QPS(TPS),并发数、响应时间它们三者之间的关系是: QPS(TPS)= 并发数/平均响应时间 性能计数器 性能计数器是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。 Linux中可以使用 top 或者 uptime 命令看到当前系统的负载及资源利用率情况。 资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。 $ top top - 15:47:21 up 4 days

kafka详细原理总结

别说谁变了你拦得住时间么 提交于 2019-11-27 12:35:24
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 1.前言 消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。 1.1 Kafka的特性: - 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。 - 可扩展性:kafka集群支持热扩展 - 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 - 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败) - 高并发:支持数千个客户端同时读写 1.2 Kafka的使用场景: - 日志收集

设备选型

徘徊边缘 提交于 2019-11-27 11:38:40
一.交换机的性能指标有很多,背板带宽、交换容量和包转发率这三个最重要的参数。 1. 背板带宽( BackPlane Capacity ) 背板带宽是模块化交换机专有的概念。它是指交换机背板总线的带宽,是由机箱( Chassis )所决定的。背板带宽代表了引擎与业务板之间所能传输的最大数据量,单位为 Gbps 。 2. 交换容量( Switch Capability ) 交换容量是指引擎 / 交换矩阵或转发芯片的交换能力。与背板带宽一样,单位也是 Gbps 。交换容量与背板带宽的区别在于:交换容量是描述的引擎等有源部件,背板带宽描述的是无源部件——背板总线。对于固定配置交换机而言,因为其没有背板总线,固没有背板带宽这一概念。对于模块化交换机,背板带宽由机箱决定,交换矩阵由引擎决定。举个例子, Cisco 6506-E 机箱的背板带宽是 480Gbps , SUP720 引擎的交换容量是 720Gbps ,所以若 6506-E 机箱配备 SUP720 引擎,它的总带宽也只能是 480Gbps 。 3. 包转发率( Throughout ) 包转发率是指在加载负荷的情况下,设备能成功转发数据的效率。所谓成功转发,仅表示不丢包,不表示不出错。在描述一个设备的包转发率时必须指明是在多大的加载负荷情况下的值,业界一般选用 64byte 的包作为加载负荷。不同厂商对包转发率有不同的称谓

设备选型

女生的网名这么多〃 提交于 2019-11-27 11:35:56
选择交换机的主要技能指标是什么? 一、交换机内存   交换机中可能有多种内存,例如Flash(闪存)、DRAM(动态内存)等。内存用作存储配置、作为数据缓冲等。交换机采用了以下几种不同类型的内存,每种内存以不同方式协助交换机工作。 二、网络标准 局域网(LAN)的结构主要有三种类型:以太网(Ethernet)、令牌环(Token Ring)、令牌总线(Token Bus)以及作为这三种网的骨干网光纤分布数据接口(FDDI)。 三、交换方式 目前交换机在传送源和目的端口的数据包时通常采用直通式交换、存储转发式和碎片隔离方式三种数据包交换方式。目前的存储转发式是交换机的主流交换方式。 四、背板带宽   交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。 五、包转发率    包转发率标志了交换机转发数据包能力的大小。单位一般位pps(包每秒),一般交换机的包转发率在几十Kpps到几百Mpps不等。 六、 MAC 地址表    交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址 选择路由器的主要技能指标是什么? 指标一: 吞吐量 吞吐量是核心路由器的包转发能力。吞吐量与路由器端口数量、端口速率、数据包长度、数据包类型、路由计算模式(分布或集中)以及测试方法有关

设备选型

别来无恙 提交于 2019-11-27 11:35:47
1.交换机的主要技能指标: (1)机架插槽数:指机架式交换机所能安插的最大模块数。 (2)扩展槽数:指固定配置式带扩展槽交换机所能安插的最大模块数。 (3)最大可堆叠数:指可堆叠交换机的堆叠单元中所能堆叠的最大交换机数目。 (4)支持的网络类型:一般情况下,固定配置式不带扩展槽交换机仅支持一种类型的网络,机架式交换机和固定配置式带扩展槽交换机可支持一种以上类型的网络,如支持以太网、快速以太网、千兆以太网、ATM、令牌环、FDDI等。一台交换机所支持的网络类型越多,其可用性和可扩展性将越强。 (5)最大SONET端口数:SONET(Synchronous Optical Network,同步传输网络)是一种高速同步传输网络规范,最大速率可达2.5Gbit/s。一台交换机的最大SONET端口数是指这台交换机的最大下传的SONET接口数。 (6)背板吞吐量:背板吞吐量也称背板带宽,单位是每秒通过的数据包个数(pps),表示交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时成本也将会越高。 (7)MAC地址表大小:连接到局域网上的每个端口或设备都需要一个MAC地址,其他设备要用到此地址来定位特定的端口及更新路由表和数据结构。一个设备MAC地址表的大小反映了该设备能支持的最大节点数。 (8)支持的协议与标准

软件性能术语

对着背影说爱祢 提交于 2019-11-27 01:06:44
软件性能术语 软件性能的主要术语 用户数 注册用户数(系统用户数) 在线用户 并发用户 虚拟用户 事务(TPS) 响应时间 QPS PV(Page View) 思考时间 吞吐量(一般指字节) 吞吐率(一般指字节) 性能计数器 软件性能非主要术语 集合点 迭代 步调 每秒连接数 软件性能的主要术语 用户数 有时会看到下面这样的描述:一个系统注册用户达到6000万人,其中每小时的活跃用户大概在60万人左右。这段描述介绍了两个信息,第一个信息:6000万人指的是注册用户,第二个信息:60万人指的是真实在线用户。 注册用户数(系统用户数) 注册用户是存在于系统数据库表中的基础数据。这部分用户是指系统所拥有的所有用户群体。这些用户是不会全部对系统造成压力的,唯一的压力就是这些用户占用了系统的存储,影响了数据库的容量。 在线用户 在线用户是真实产生压力的用户,这些用户是压力的根源,也就是系统要能够支持这么多人同时在线业务。 同时在线用户数:在一定的时间范围内,最大的同时在线用户数量 同时在线用户数=每秒请求数RPS(吞吐量)+并发连接数+平均用户思考时间 并发用户 在线用户是真实的用户,但不是所有的在线用户都会在系统上操作,可能有些用户在浏览网页、有些用户在做业务、有些用户只是开着浏览器。这时在线用户对系统产生压力的用户只有一部分,而这部分用户就是在线用户中的有效并发用户。

kafka设计要点之高吞吐量

徘徊边缘 提交于 2019-11-26 17:39:39
kafka设计的目标之一就是高吞吐量。除了最基础的将一个topic划分为多个partition外,还从以下各个方面优化。 kafka broker端为了提高吞吐量:实现顺序读写磁盘、利用page cache,将文件数据映射到内存,利用sendfile网传时socket通信时直接读取内存区域(减少操作系统上下文切换、零拷贝提速); producer端,将消息buffer起来,当消息的条数达到一定阀值时(一定数量或时间),批量发送给broker; consumer,批量fetch多条消息.通过配置到达一定阈值时(一定数量或时间),批量从broker拉取信息; 对于producer/consumer/broker三者而言,CPU的开支应该都不大,因此启用消息压缩机制减少网传数据量;压缩需要消耗少量的CPU资源,可以将任何在网络上传输的消息都经过压缩.kafka支持gzip/snappy等多种压缩方式。 顺序写磁盘 根据《 一些场景下顺序写磁盘快于随机写内存 》所述,将写磁盘的过程变为顺序写,可极大提高对磁盘的利用率。 Kafka的整个设计中,Partition相当于一个非常长的数组,而Broker接收到的所有消息顺序写入这个大数组中。同时Consumer通过Offset顺序消费这些数据,并且不删除已经消费的数据,从而避免了随机写磁盘的过程。 由于磁盘有限,不可能保存所有数据