ADC关键性能指标及误区

由于ADC产品相对于网络产品和服务器需求小很多,用户和集成商在选择产品时对关键指标的理解难免有一些误区,加之部分主流厂商刻意引导,招标规范往往有不少非关键指标作被作为必须符合项。接下来就这些误区和真正的关键指标做一些探讨。

误区1: CPU数量和主频。 目前大部分厂商采用了类似的通用CPU架构,但还是可能采用不同厂家的CPU。即使是同一个厂家,也可能是不同系列。最关键的是CPU数量和主频并不代表性能,除非是同一个厂家的同一个软件。同样,完全相同的硬件配置,不同厂商的架构和系统发挥出来的性能可能相差数倍,正如完全相同的几个人在不同的管理环境下发挥出来的贡献差别会很大。并行计算处理不好,由于CPU间信开销及锁的问题,CPU数量增加并不意味性能增加。如果1个CPU可以跑出其它产品8个cpu的性能,谁会选择8个CPU的产品?成本,功耗,体积都会大很多。因此,CPU硬件配置并不代表性能。

误区2: 内存。 同样与系统架构相关。同样与架构有关,对于CPU独享内存的架构,每个核即使只配置2G内存,一个8核的产品就需要16G内存,但每个核可访问的内存资源只有2G。这样的架构一份数据需要复制多次并保存多份,使用效率很低,最终也会影响到性能。而共享内存架构的产品,每个核可以访问所有内存资源,数据也只需要保存一份。如果是32位操作系统,共享内存架构4G内存的实际效率就超过独享内存架构的任意配置产品(目前A10之外的产品均为32位操作系统,独享内存架构)。64位操作系统突破4G的限制,实际效率就会更高。因此,内存不代表性能。如果一定要比较,需要比较每个核可访问的内存资源。

误区3:端口数量。ADC产品不同于2/3层交换机,端口数量代表可连接更多设备。ADC产品部署环境一定会有2/3层交换机,服务器不需要直接连接到ADC产品。只要端口数量大于实际需要的吞吐量并有足够端口与交换机连接即可。

误区4:交换能力。 这个指标也是沿用了交换机的指标。交换机性能与交换矩阵芯片交换能力密切相关,与CPU关系不是很大。而ADC产品则不同,交换矩阵并不是必须部件,大多产品采用通用CPU架构使用PCIe总线扩展接口,这部分已经不是ADC产品的瓶颈所在。ADC性能基本取决于系统整体架构下CPU发挥出来的效率。而且大部分产品本身已经是服务器的硬件架构,应该没有人对服务器要求交换能力的指标。

可以看出,误区所在均为沿用了服务器或交换机的一些指标,这些硬件配置并不代表ADC产品的真正性能,但一些厂商还是刻意利用这些指标(尤其是CPU和内存)来误导客户屏蔽竞争对手。

ADC真正关键的性能指标如下:

1. 4/7层吞吐量。由于需要CPU进行复杂的4-7层处理,4/7层吞吐量交2/3层吞吐量要低很多,但这是ADC真正能处理的数据吞吐量。这也是2/3层吞吐量对于ADC产品并不关键的原因。这个指标的测试方式通常是发送尽可能多HTTP GET请求,服务器应答较大HTTP对象(如512Kbytes或1MBytes,会分为若干数据包传输),计算无失败情况下线路上传输的数据量。差异在于不同仪表厂商或不同测试可能会不计算2/3层包头或GET请求部分,由于这部分所占比例极小,影响不是很大。严格来说,横向比较时应该确定所取HTTP对象大小及是否计算2/3层包头部分。

2. 4层每秒新建连接速率(L4 CPS)。 衡量ADC产品每秒钟可以处理多少个TCP新建连接。通常测试方法为发送尽可能多的HTTP GET请求,服务器应答较小HTTP对象(如1Bytes,128Bytes,1KBytes), ADC产品在中间只根据4层信息进行复杂均衡。每个连接需要完整的3次握手建立过程,GET请求,和TCP关闭连接过程。这个指标对于ADC产品应付突发大量连接非常重要。好比一个地铁入口的通过率一样,如果入口太小,客流突然增加时,如果客人无法进入,业务自然会受到影响。比较该指标时需要注意所取HTTP对象大小。

3. 7层每秒新建连接速率(L7 CPS)。与4层新建连接速率类似,只是ADC产品在中间需要根据应用层信息进行服务器选择(通常测试使用url交换),而且每个TCP连接上只能传输1个HTTP请求。使用7层处理对CPU效率要求更高。如同进入地铁时需要核查客人更多信息和安检一样,其通过率比正常通过率会有不同程度降低。A10产品通常可以做到4层新建连接速率的70-80%,而其它很多厂商只能做到30-40%。比较该指标时同样要注意HTTP对象大小和每个TCP连接传输的请求数。

4. 7层每秒交易速率(L7 RPS)。有些厂商使用L7 RPS作为L7 CPS来混淆误导客户,RPS测试会定义每个TCP连接可以传输多少个HTTP请求,通常会有10个请求/TCP连接,无限制请求连接/TCP连接几种测试数据。使用1个请求的L7 RPS值就是L7 CPS。差别在于每个连接传送多个请求时的L7 RPS测试中,ADC可以省去大量TCP连接建立和关闭过程。比较该指标时同样要注意HTTP对象大小和每个TCP连接传输的请求数。

5. 并发会话数量。 如果新建连接速率代表了一个地铁入口通过率,并发会话则代表了该地铁线路上在车上的所有人数。如果内部承运能力不够高,就会造成乘客挤压过载最后瘫痪。并发会话测试并不是简单的在内存中保存这些条目,实际测试中,必须在每个连接上定时传送数据验证设备可以准确查找已有会话并转发数据。测试中还可能会细分4层并发会话数量和7层并发会话数量,区别在于ADC基于不同信息建立会话和每个连接占用的会话条目不同。由于并发会话与内存关系很大,32位系统的ADC由于4G内存限制都不可能做得很大,而64位系统的ADC就不会受到这个限制。

6. 防DDoS攻击能力(syn/sec)。ADC产品的并发会话能力和新建连接速率远远大于防火墙类产品,因此在ADC外部署防火墙会成为瓶颈。这就要求ADC本身有足够强大的防攻击能力。目前大部分ADC产品均采用了Syn-cookie方式来防御DDoS攻击,实际性能取决于各自的系统架构和处理算法。

值得一提的是,F5的7层新建速率与4层新建速率相比下降非常大,因此会有使用与其他厂商不同的一些数据来作为L7 CPS应答的情况。F5 提供3个L7 CPS/RPS指标.

L7 Connection per Sec(1-1), 客户侧连接1 request/connection,服务器侧连接1 request/connection。 通用L7 CPS定义。

L7 Requests per Sec (1-inf),客户侧连接1 request/connection,服务器侧连接unlimited request/connection。 用户通常看到的L7 CPS数据。

L7 Requests per Sec (inf-inf),客户侧连接unlimited request/connection,服务器侧连接unlimited request/connection。

F5公开的测试报告明确描述其所有7层测试均启用连接复用功能,因此测试报告中看到的都是“L7 Requests per Sec (1-inf)”。比较L7 CPS时时应该注意使用其CPS(1-1)指标。

其他SSL指标、DNS QPS指标、HTTP压缩指标对于使用该类应用的用户很重要,但不属于通用关键指标,就暂不逐一解释了。

L4 CPS --- tcp 每秒新建连接数
L4 TPS --- tcp 吞吐流量
L4 并发数 --- tcp 并发会话数
L7 CPS --- http 每秒新建连接数
L7 RPS ---- http 每秒交易数
L7 并发数 --- http 并发会话数
L7 TPS --- http 吞吐流量
L7 压缩 --- http 压缩流量
SSL TPS --- HTTPS 吞吐流量
SSL 并发数 --- https 并发会话数
SSL CPS --- https 每秒新建连接数
SSL RPS --- https 每秒交易数
syn flood attacks/sec --- 每秒防御SYN攻击数
syn flood attacks tps --- 防御SYN攻击的吞吐流量
syn flood attacks pps --- 防御SYN攻击的数据包数量
udp flood attacks/sec --- 每秒防御UDP攻击数
udp flood attacks tps --- 防御UDP攻击的吞吐流量
udp flood attacks pps --- 防御UDP攻击的数据包数量
dns query req/sec --- 每秒处理的DNS查询请求数
dns query TPS --- 每秒处理的DNS查询吞吐流量
dns query PPS --- 每秒处理的DNS查询数据包数量
AppFW TPS ---
AppFW CPS ---
AppFW RPS ---
AppFW 并发数 ---

======================== End

ADC关键性能指标及误区的更多相关文章

  1. Memcached 与 Redis 的关键性能指标比较

    性能对比: Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis在存储小数据时比 Memcached 性 能更高. 而在 100k 以上的数据中,Memcach ...

  2. 网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析

    科来 做流量分析,同时也做了一些安全分析(偏APT)——参考其官网:http://www.colasoft.com.cn/cases-and-application/network-security- ...

  3. Performance Metrics(性能指标1)

    Performance Metrics(性能指标) 在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明 ...

  4. AI大厂算法测试心得:人脸识别关键指标有哪些?

    仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...

  5. 提升Web性能的8个技巧总结

    提升Web性能的8个技巧总结 在互联网盛行的今天,越来越多的在线用户希望得到安全可靠并且快速的访问体验.针对Web网页过于膨胀以及第三脚本蚕食流量等问题,Radware向网站运营人员提出以下改进建议, ...

  6. 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)

    Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...

  7. SQL Check

    一款实时性能监测工具 SQL Check? 一款实时监测SQL数据库性能.实时排查的问题的免费工具. 可以实时监测20个左右的SQL关键性能指标,每个指标都已图形化动态直播形式展现. 适合DBA.数据 ...

  8. KPI:Key Performance Indicator

    通信中KPI,是Key Performance Indicators的缩写,意思是关键性能指标.performance 还有绩效:业绩的意思,但显然不适用于这种场合. 通信中KPI的内容有:掉话率.接 ...

  9. [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)

    再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习. 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个 ...

随机推荐

  1. sql server 对Geography 的增(insert)和查询(select)

    insert:    Location为    Geography类型                INSERT INTO [oss1].[dbo].[Order] ([Location]) VAL ...

  2. Java实现邮件发送

      概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <depende ...

  3. 请求头(request)和响应头(response)

    说一说常见的请求头和相应头都有什么呢? 1)请求(客户端->服务端[request]) GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采 ...

  4. 「国庆训练」Kingdom of Obsession(HDU-5943)

    题意 给定\(s,n\),把\(s+1,s+2,...,s+n\)这\(n\)个数填到\(1,2,...,n\)里,要求\(x\)只能填到\(x\)的因子的位置(即题目中\(x\%y=0\)那么x才能 ...

  5. 在VMware虚拟机下安装Linux CentOS7

    1.首先下载并安装VMware虚拟机,下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluatio ...

  6. SQL注入篇二------利用burp盲注,post注入,http头注入,利用burpsuit找注入点,宽字节注入

    1.布尔盲注burpsuit的使用 先自己构造好注入语句,利用burpsuit抓包,设置变量,查出想要的信息. 比如----查数据库名的ascii码得到数据库构造好语句 http://123.206. ...

  7. HDU - 6440(费马小定理)

    链接:HDU - 6440 题意:重新定义加法和乘法,使得 (m+n)^p = m^p + n^p 成立,p是素数.,且satisfied that there exists an integer q ...

  8. python 终极篇 --- django 视图系统

    Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...

  9. 垃圾收集器与内存分配策略(深入理解Java虚拟机)

    3.1 概述 垃圾收集器要解决哪些问题? 哪些内存需要回收 什么时候回收 如何回收 引用计数算法:当有一个地方引用,+1,引用失效,-1.     缺点:对象之间相互循环引用的问题. 可达性分析算法: ...

  10. lintcode407 加一

    加一 给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组. 该数字按照大小进行排列,最大的数在列表的最前面. 您在真实的面试中是否遇到过这个题? Yes 样例 给定 [1,2,3] ...