ADC关键性能指标及误区
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关键性能指标及误区的更多相关文章
- Memcached 与 Redis 的关键性能指标比较
性能对比: Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis在存储小数据时比 Memcached 性 能更高. 而在 100k 以上的数据中,Memcach ...
- 网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。科来做APT相关的安全分析
科来 做流量分析,同时也做了一些安全分析(偏APT)——参考其官网:http://www.colasoft.com.cn/cases-and-application/network-security- ...
- Performance Metrics(性能指标1)
Performance Metrics(性能指标) 在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明 ...
- AI大厂算法测试心得:人脸识别关键指标有哪些?
仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...
- 提升Web性能的8个技巧总结
提升Web性能的8个技巧总结 在互联网盛行的今天,越来越多的在线用户希望得到安全可靠并且快速的访问体验.针对Web网页过于膨胀以及第三脚本蚕食流量等问题,Radware向网站运营人员提出以下改进建议, ...
- 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)
Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...
- SQL Check
一款实时性能监测工具 SQL Check? 一款实时监测SQL数据库性能.实时排查的问题的免费工具. 可以实时监测20个左右的SQL关键性能指标,每个指标都已图形化动态直播形式展现. 适合DBA.数据 ...
- KPI:Key Performance Indicator
通信中KPI,是Key Performance Indicators的缩写,意思是关键性能指标.performance 还有绩效:业绩的意思,但显然不适用于这种场合. 通信中KPI的内容有:掉话率.接 ...
- [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)
再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习. 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个 ...
随机推荐
- Ubentu下命令行安装chrome浏览器
前言: 最近在使用Ubuntu 系统.编译Android aosp 项目.准备写博客,但是Ubuntu 的默认浏览器 firefox 在写csdn 的时候,加载不出来.如下图 一直卡在这里. 这种情况 ...
- VueJs 学习笔记
VueJs学习笔记 参考资料:https://cn.vuejs.org/ 特效库:TweenJS(补间动画库) VelocityJS(轻量级JS动画库) Animate.css(CSS预设动画库) ...
- PyCharm添加Selenium与Appium类库
PyCharm添加Selenium与Appium依赖, 不需要用pip去安装!
- (python)leetcode刷题笔记 01 TWO SUM
1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...
- [C++ map & dp]codeforces 960F. Pathwalks
题目传送门:960F 思路: 题目给人的感觉很像最长上升子序列,自然而然想到用dp的思路去处理 题目中给的限制条件是,要接上前面的边,前面的边权一定要小于当前的边权(题目按照输入的顺序,因此只找前面的 ...
- 线性代数之——对角化和 A 的幂
利用特征向量的属性,矩阵 \(A\) 可以变成一个对角化矩阵 \(\Lambda\). 1. 对角化 假设一个 \(n×n\) 的矩阵 \(A\) 有 \(n\) 个线性不相关的特征向量 \(x_1, ...
- js如何处理字符串中带有↵字符
js或vue中如何处理字符串中带有↵字符 split('\n') 使用split('\n')将字符串分割成数组就行 如果我们在vue中,只需要在页面中绑定变量时操作split('\n')就可以了: & ...
- rewrite or internal redirection cycle while processing nginx重定向报错
2018/05/07 15:03:42 [error] 762#0: *3 rewrite or internal redirection cycle while processing "/ ...
- 测试报告M2
1,项目简介我们已经在第一次测试报告中说过,这一次主要说一下场景测试实例 1.1测试人员 测试人员包括团队开发小组成员以及特邀测试用户组. 1) 团队内部测试主要针对网站支持的各功能组件进行一一测试 ...
- jsp文件中charset和pageEncoding的区别
jsp文件中charset和pageEncoding的区别: contentType的charset是指服务器发送给客户端时的内容编码,contentType里的charset=utf-8是指示页面 ...