测试游记


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

31-redis

发表于 2021-07-26 | 分类于 性能测试 |

31-redis

最开始使用memcache做缓存数据库,但是它不能进行数据持久化,而是放在内存中

  • 持久化:把数据存储在磁盘上
  • 内存中的数据的特点:一旦断电,数据就会丢失

使用redis做缓存数据库,可以把数据存在内存中,加快我们读取数据的速度,同时,它可以定时去同步数据到磁盘,进行内存数据持久化。它还有个重大优势:缓存数据库之间可以自动同步

功能强大,但是比较复杂,所以在使用过程中也存在一定的问题。

性能测试人员需要了解redis的使用,原理,存在的问题,发现问题,如何给出调优建议。

阅读全文 »

30-服务器架构演进

发表于 2021-06-26 | 分类于 性能测试 |

30-服务器架构演进

把服务包部署到多台设备

多台机器一起向外提供服务,合并在一起的软件:niginx

多台机器合并在一起:集群

nginx负载均衡,反向代理

nginx里面记录不同机器的ip,配置不同的分配策略

nginx:web服务器,并不一定是一般理解的前台服务

前后分离:front+server

负载均衡

  • 最典型的软件是nginx
  • 也可以是硬件F5
  • 阿里云的SLB,也是一个软件负载均衡
阅读全文 »

29-网络知识

发表于 2021-06-24 | 分类于 性能测试 |

29-网络知识

通常说的网络,都是在TCP/IP协议族的基础上运作的,HTTP协议,只是这个协议族中的一个。

  • TCP协议:通过数据发送者和接收者相互回应对方发来的确认信息,可靠的进行数据传输
  • IP协议:指定数据发送的ip信息,以及通过路由转发数据

TCP数据的组成

  • 源地址:发起方的ip地址
  • 目的地址:接收方的域名或者ip地址
  • 数据:包封装
  • 源端口:每建立一个连接,就要使用一个端口
  • 目标端口:服务器的端口,一般使用连接池管理

一个请求:源地址:源端口 –> 网卡 –> 互联网(局域网) –> 目标服务器网卡 –> 目标服务器内部

阅读全文 »

28-磁盘知识

发表于 2021-06-17 | 分类于 性能测试 |

28-磁盘知识

持久化的存储设备

存储设备,系统中容量最大的存储设备

存储数据之前,要先进行格式化

linux:ext4

windwos:FAT32、NTFS

在读写数据时,数据与磁盘间有个磁盘缓存(内存的一部分)

机械磁盘「HHD」

由盘片,磁头组成,数据存在盘片的环形磁道上,读写时,磁头移动,定位到数据的磁道,进行数据读写

固态磁盘「SSD」

由固态电子元器件组成,不需要磁头寻址,所以不管是连续IO还是随机IO,都比机械盘快

阅读全文 »

27-内存知识

发表于 2021-06-05 | 分类于 性能测试 |

27-内存知识

基础概念

内存又叫主存,是CPU与其他设备沟通的桥梁,主要用来临时存放数据,配合CPU工作,协调CPU的处理速度

  • 硬盘数据,外设数据,玩了传输数据,要进CPU前,都要先进入内存
  • 临时存放,在断电后,内存内容就会丢失

内存的组成:内存地址+存储单元

存储单元-数据结构

堆栈

两种不同的数据结构

堆(heap)

一种经过排序的树型数据结构

存放程序的对象

链表

数组、列表:数据是有顺序的,从左到右,从0开始。如果要在列表中,插入一个数据,那么在插入位置之后的数据,都需要移动,删除列表中间某个数据,在位置之后的数据,也都要移动。

链表也是一种数组,它的每个数据存储的都是数据值+下一个元素的地址。

如果要在链表中,插入一个数据。插入位置「前一个元素」中的「下一个元素的地址」需要指向插入的数据的地址,「待插入的元素」记录「下一个元素的地址」。

查找一个数据时,需要从头开始读取数据,一个一个的比对,直到找到需要的数据才停止。这个过程会有大量的IO,所以读取数据速度并不快。

  • 二叉树

建立在链表的基础上的一种数据结构

二叉树左边存储的是小于自身数据,右边是存储大于自身数据

插入数据:因为是链表,插入速度也比较快

读取数据:因为数据已经做了二分,查找链路变短,IO就减少了,读取速度也变快

二叉树的不足:随着存储的数据量增大,二叉树会越来越大,那要查找某个数据的IO次数,也会非常多

  • B树「平衡二叉树」

不是一个简单的平衡二叉树,是一个立体的平衡二叉树

B树和平衡二叉树稍有不同的是B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构

栈

LIFO「Last In First Out」后进先出

  • 装入叫压入

  • 取出叫弹出

队列

FIFO「First In First Out」先进先出

  • 顺序队列
  • 循环队列
阅读全文 »

26-CPU知识

发表于 2021-05-30 | 分类于 性能测试 |

26-CPU知识

CPU

中央处理器

一段程序要被执行,先编译成机器语言

进入内存

cpu控制器再从内存中获取指令、数据,放到寄存器中,

时钟控制cpu的运算器睡眠时候开始计算,计算时长多长

运算器开始计算,运算过程中,如果还需要数据,控制器再从寄存器中拿数据,拿不到就从内存中拿,如果一个时间片段计算不完,就干其他事,之后再执行,执行完了输出数据给寄存器,再传给内存

影响CPU性能的物理因素:主频、架构、核

架构

  • Inter(x86)
  • AMD(x86)
  • IBM(PowerPC)
  • ARM

主频

GHz

核心数

单核、双核、n核

阅读全文 »

23-分布式

发表于 2021-05-21 | 分类于 性能测试 |

23-分布式

集群

集合在一起的一群机器,多台机器向外提供服务器能力

性能分布式

多台机器分摊压力机,产生更大的并发,向服务器发起请求

什么时候用分布式

在单台机器无法虚拟出更高并发数时

阅读全文 »

22-性能测试持续集成

发表于 2021-05-19 | 分类于 性能测试 |

22-性能测试持续集成

CICD持续集成持续交付

CICD

CI:持续集成

CD:持续交付

Jenkins

持续集成与持续交付落地的一个工具

Devops

性能测试持续集成与持续交付的解决方案

jenkins + ant + jmx

jenkins

持续集成工具

ant:maven

测试、编译代码

jmx

jmeter编写的脚本

阅读全文 »

21-zabbix

发表于 2021-05-16 | 分类于 性能测试 |

21-zabbix

企业级的、高度成熟的、分布式开源监控解决方案。

它能监控众多网络参数和服务器的健康度、完整性,把数据存储在数据库中,然后再通过web页面,用不同的方式,展示各种监控数据,再通过告警机制,设置告警阈值,发送收取告警信息

zabbix的组成

  • zabbix-server:数据库 + 前端front。不能安装在被测服务器上
  • zabbix-agent:数据收集器,需要安装在被测的服务器上
  • proxy:网络代理
  • java gateway:网络路由
  • sender:渲染
  • get
  • js

安装

https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx

阅读全文 »

20-grafana+influxdb

发表于 2021-05-16 | 分类于 性能测试 |

20-grafana+influxdb

一款用go编写的开源应用,用于大规模指标数据的可视化展示,是网络架构和应用分析中最流行的时序数据展示工具

grafana:展示时序数据库数据的工具

influxdb:时序数据库,存数据

安装

grafana+influxdb不能安装在被测服务器上

1
[root@dubbo opt]# yum install grafana-7.4.3-1.x86_64.rpm -y

启动

1
[root@dubbo opt]# systemctl restart grafana-server
阅读全文 »
12…17>

164 日志
12 分类
13 标签
RSS
GitHub 知乎
友情链接
  • 测试派
  • TesterHome
  • 自动化代码美学
© 2021 — 2022 测试游记 浙ICP备2021000476号-1
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4