性能测试day02_后端网络协议架构
接着第一天的尾,继续来学习性能测试,上一次说到性能要大致经历哪些阶段,那么我们也来看下行业的做法:
行业有两种做法,一个是TPC,另一个是SPEC;
- TPC:指定业务类型,获得该指定业务的性能指标,也就是说TPC实际上是业务实际情况的实现效果,我们做性能一般都是TPC-C这种做法,但要注意一点,就是TPC跑的好系统不一定就好,因为这只是针对指定业务。
- SPEC:针对硬件能力的概念,获得硬件在基本处理能力上的指标,一般SPEC越高,TPC的指标会越好(CPU和内存越大,能处理的业务越多)。
最终可以通过TPC和SPEC的互换来做到系统性能的预估。(由于公司架构比较稳定和固化,通过单模块的性能情况预估同等配置下其它模块的性能)。仔细思考下,在我们性能测试中,我们有时候测试环境资源并不如线上资源多,那么如何在测试环境下获取生产环境的性能结果呢?实际上这里就用到了SPEC和TPC的互换。
第一天讲解了部分性能的基本名词,其中负载也是比较容易混淆的,这里也来讲解下:负载实际上是多个客户端对服务器的请求,那么这里就会有负载用户的定义,有实际用户、在线用户、并发用户三种不同的区分;
- 实际用户:系统注册用户,有可能访问系统的用户;
- 在线用户:系统正在访问等待或者操作的用户;
- 并发用户:针对某个业务逻辑的具体操作用户;
实际用户>>在线用户>>并发用户,所以从这里我们可以知道负载量并不是简单的看用户数,而是通过业务量来计算才会更准确,为了应对现有的高业务量所以挺多同步业务转化成了异步业务(这个是架构的变化)。
在很多公司,领导都会说你给我做一下性能压力测试,实际上外面挺多人认为性能就等同于压力测试,实际上是有很大区别的,下面来讲解下区分:
实际上性能测试是包括负载测试和压力测试;下图就是概览图:我们平常做的性能测试实际上是负载测试。
在预习课程中我们接触了协议,知道性能测试基本上都是模拟客户端基于协议的测试,那么下面大概总结下部分HTTP协议内容:
最终我们通过协议抓包是要知道业务是如何通过请求来实现与服务器的交互和验证的(当然这个比较难,基本上是自己写过才能比较清楚)。
今天在扩展一点内容,跟下次课的知识有关,就是前端的基础知识->网页的组成,稍微介绍下网页的组成以及性能的优化建议:
- HTML
- CSS(优化在于格式,可以进行压缩和减少代码中多余无用的字符,减少字节大小)
- JS(优化在于格式,可以进行压缩和减少代码中多余无用的字符,减少字节大小)
- 图片(多张图片合并,然后根据位置切割,减少请求量和大小)
好啦,今天完啦,期待下一节课关于网站前端性能分析吧!
性能测试day02_后端网络协议架构的更多相关文章
- 网络基础之网络协议篇---CS架构--网络通信--osi 协议---套接字socket--粘包
1 C\S 客户端/服务器架构: .硬件 C/S架构 (打印机) .软件 C/S 架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务 ...
- Go语言学习之9 网络协议TCP、Redis与聊天室
主要内容 1. Tcp编程2. redis使用 1. Tcp编程 (1)简介 Golang是谷歌设计开发的语言,在Golang的设计之初就把高并发的性能作为Golang的主要特性之一,也是 ...
- 网络协议HTTP TCP/UDP 浏览器缓存 Restful(十)
一 TCP网络协议 1 建立TCP连接:三次握手原则 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分.客户端把这段连接的序号设定为随机数 A. 服务器端应当为一个合法的SY ...
- 网络协议学习笔记(九)CDN和数据中心
概述 上一篇给大家介绍了DNS协议和HttpDns协议,现在给大家介绍一下CDN和数据中心相关的知识. CDN:你去小卖部取过快递么? 如果你去电商网站下单买个东西,这个东西一定要从电商总部的中心仓库 ...
- 基础笔记(三):网络协议之Tcp、Http
目录 一.网络协议 二.TCP(Transmission Control Protocol,传输控制协议) TCP头格式 TCP协议中的三次握手和四次挥手 TCP报文抓取工具 三.HTTP(Hyper ...
- CCNA网络工程师学习进程(3)常规网络设计模型与基本的网络协议
本节介绍分层的网络设计模型与基本的网络协议,包括ARP协议,ICMP协议和IP协议. (1)三层网络架构: 一个好的园区网设计应该是一个分层的设计.一般分为接入层.汇聚层(分布层).核 ...
- linux网络协议
网络协议 本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 ...
- iOS网络协议 HTTP/TCP/IP浅析
一.TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...
- linux 网络协议分析---3
本章节主要介绍linxu网络模型.以及常用的网络协议分析以太网协议.IP协议.TCP协议.UDP协议 一.网络模型 TCP/IP分层模型的四个协议层分别完成以下的功能: 第一层 网络接口层 网络接口层 ...
随机推荐
- Python正则表达式指南 (转)
本文http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 正则表达式经常被用到,而自己总是记不全,转载一份完整的以备不时之需. 1. ...
- 删除JavaScript对象中的元素
参考http://stackoverflow.com/questions/208105/how-to-remove-a-property-from-a-javascript-object 通过dojo ...
- Zookeeper Ha集群简介+jdbcClient访问Ha集群环境
Hadoop-HA机制HA概述high available(高可用) 所谓HA(high available),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说 ...
- 批处理手动设置电脑的ip
参考: http://blog.csdn.net/jiangzhanchang/article/details/7063152 http://wenda.haosou.com/q/1378697364 ...
- JavaScript学习总结(一、变量、for和for-in循环)
一.变量 全局对象: 1. 每个javascript环境都有一个全局对象,在任意函数外都能用this访问到这个全局对象. 此外,该全局对象有一个附加属性window,通常这个window也指该全局对象 ...
- CentOS6.5把MySQL从5.1升级到5.6后,MySQL不能启动
解决了:进入mysql安装目录 cd /var/lib/mysql删除了如下三个文件:ibdata1 ib_logfile0 ib_logfile1 CentOS6.5把MySQL从5.1升级到5 ...
- 苹果cms测试
配置好权限,搞了半天,一直以为是容器镜像的问题 sudo chgrp -hR www-data maccms10 启动容器 docker run --rm -d --network=isolated_ ...
- Mysql binlog日志的介绍
mysql的复制功能是 大规模,高性能应用的基础. 分担读负载.水平扩展 是通过二进制日志进行复制,是异步的. 只记录成功执行的修改事件,出现错误的和回滚的是不会纪录的. 日志路径 查看日志 RO ...
- PHP 汉字数字互转(100以内)| 汉字转数字 | 数字转汉字
<?php function numDatabase(){ $numarr =array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,2 ...
- C/C++基础----动态内存
why 管理较难,忘记释放会内存泄漏,提早释放可能非法引用,重复释放. 为了更容易,更安全的使用动态内存,提供智能指针,其默认初始化保存一个空指针. what shared_ptr允许多个指针指向同一 ...