随笔分类 - 性能
发表于 2020-04-13 22:22阅读次数:860评论次数:0
摘要:一. 上节回顾 文件系统和磁盘的理论知识 二. Redis响应延迟案例 1. 什么是Redis Redis是一个高性能的key-value数据库,和memcached类似,它支持存储的value类型相对更多,包括string(字符串),list(列表),set(集合),zset(sorted set
阅读全文 »
发表于 2020-04-12 22:56阅读次数:812评论次数:0
摘要:一. 上节回顾 内存溢出的问题定位 二. 文件系统以及磁盘I/O 1. 概念 磁盘和文件系统管理,是操作系统最核心的功能之一 磁盘:提供了最基本的持久化存储 文件系统:是在磁盘的基础上,提供了一个用来管理文件的树状结构 2. 索引节点和目录项 我们都知道,在Linux中一切皆是文件,不仅普通的文件和
阅读全文 »
发表于 2020-04-12 14:59阅读次数:162评论次数:0
摘要:待更新
阅读全文 »
发表于 2020-04-12 14:56阅读次数:594评论次数:0
摘要:一. 上节回顾 1. 内存 2. 场景一:磁盘和文件写案例 3. 命令:vmstat 二. 上节的两个问题 问题一:buffer是磁盘读数据还是写数据的缓存? 问题二:cache是对文件读数据的缓存,是不是也会缓存写文件的数据? 问题一分析步骤: java进程内存溢出,问题定位以及分析(mat) 1
阅读全文 »
发表于 2020-04-12 12:32阅读次数:301评论次数:0
摘要:一. 上节回顾 1. PHP的问题定位 2. CPU的三个主要案例: (1) mysql (2) java (3) PHP 二. 内存 1. 物理内存 生活中,我们知道内存有4G和8G,这里提到的是内存容量,其实指的是物理内存 物理内存:也称为主存,大多数计算机的主存都是动态随机访问内存(DRAM)
阅读全文 »
发表于 2020-04-10 21:07阅读次数:291评论次数:0
摘要:一. CPU性能指标 1. 首先,最容易想到的是CPU使用率,也是实际环境中最常见的一个性能指标 CPU使用率是非空闲时间占总CPU时间的百分比,根据CPU上运行任务的不同,又被分为用户CPU,系统CPU,等待I/O CPU,软中断和硬中断 用户CPU使用率:包括用户态CPU使用率(user)和低优
阅读全文 »
发表于 2020-04-10 20:18阅读次数:512评论次数:1
摘要:一. 准备 1. 在data目录下,使用rz上传项目zip包 2. 解压 3. 进入到解压后的目录nginx-php-cpu,查看Makefile操作步骤 4. 配置docker镜像加速 我们使用DaoCloud进行加速,具体DaoCloud怎么获取镜像源地址,请看这篇Docker从理论到实践(三)
阅读全文 »
发表于 2020-04-10 16:20阅读次数:514评论次数:0
摘要:一. 上节回顾 怎么查看CPU使用率? top:显示了系统总体的CPU和内存使用情况,以及各个进程的资源使用情况。默认每隔3s刷新一次 ps:只显示每个进程的资源使用情况 top并没有细分进程的用户态CPU和内核态CPU pidstat:可以分析每个进程的CPU使用情况 通过top,ps,pidst
阅读全文 »
发表于 2020-04-09 15:00阅读次数:1275评论次数:0
摘要:一. 上节回顾 1. CPU上下文切换:CPU寄存器和程序计数器 2. CPU上下文可以分为几个不同的场景:进程上下文切换,线程上下文切换,中断上下文切换 3. 线程是调度的基本单位,进程是资源拥有的基本单位 二. 自愿上下文切换和非自愿上下文切换 vmstat:只给出了系统总体的上下文切换情况,要
阅读全文 »
发表于 2020-04-08 23:31阅读次数:1201评论次数:0
摘要:一. 上节回顾 1. 什么是进程?什么是线程?它们之间的区别? 2. CPU命令 查看物理CPU的个数 查看每个物理CPU的核数 查看逻辑CPU的个数 3. CPU架构 从处理器层面查看 从操作系统层面查看 4. uptime load average:三个负载的含义 平均负载和CPU使用率 5.
阅读全文 »
发表于 2020-04-08 22:54阅读次数:750评论次数:0
摘要:一. CPU理论知识点 二. 进程和线程 1. 什么是进程? 进程是正在进行的一个过程或者说一个任务,而负责执行任务的是CPU 2. 什么是线程? 线程是进程里面执行的最小单元,例如:一条流水线工作的过程(流水线的工作需要电源,电源就相当于CPU),而一条流水线必须属于一个车间,一个车间的工作过程就
阅读全文 »
发表于 2020-04-08 18:58阅读次数:417评论次数:0
摘要:一. 上节回顾 1. 监控的场景,不推荐LoadRunner自带的监控,使用nmon来监控我们的Linux系统 2. nmon + 分析思路,最后定位到性能问题(mysql数据库的用户表没有加索引导致的性能问题) 3. 生成LoadRunner自带的分析报告,生成了数据的监控,关注TPS和响应时间
阅读全文 »
发表于 2020-04-06 19:02阅读次数:511评论次数:0
摘要:一. 场景设计回顾 1. 在我们实际工作中,一般是先做单场景(单接口)的性能测试,当没有问题后,或者优化之后,再做混合场景,这是基于以下两点考虑 (1) 为了更好的排查问题,更好的优化问题 (2) 当多个接口混合的时候,也会出现一些相互调用的其他问题 2. 稳定性场景:建议也是用混合场景,一般跑8个
阅读全文 »
发表于 2020-04-05 20:44阅读次数:400评论次数:0
摘要:一. 混合场景 1. 一般有这样的场景:比如说(登录:30%,下订单:50%,查看订单:20%) 比如并发用户2万,需要确定:你实际的登录用户有多少?浏览商品的用户有多少?下订单有多少? 2. 一个脚本可以用多个LoadRunner Generators 现在我们这里只有一个混合场景,一个混合场景里
阅读全文 »
发表于 2020-04-05 14:49阅读次数:486评论次数:0
摘要:一. 什么是controller controller是一个核心组件:简单来说就是调用脚本,模拟用户的真实行为,对服务器产生压力,并且收集服务器资源使用情况,比如:TPS、响应时间、事务数、成功率 二. 场景 1. 手工场景(百分比模式) 2. 面向目标场景 三. 集合点 1. 什么是集合点? 模拟
阅读全文 »
发表于 2020-04-05 12:05阅读次数:318评论次数:0
摘要:一. 项目流程 登录-->修改支付密码-->下订单-->支付订单-->查看订单列表 支付密码:md5进行加密算法。 1. 为什么要学习java vuser协议? 为了解决工作中需要调用开发的算法,进行脚本的开发 2. 工作中会遇到:需要对支付密码进行md5算法的调用,以及更复杂的情况(实际项目中可能
阅读全文 »