压测过程中,CPU和内存占用率很高,案例简单分析
Q: 最近公司测试一个接口,数据库采用Mongo
并发策略:并发400个用户,每3秒加载5个用户,持续运行30分钟
数据量:8000条左右
压测结果发现:
TPS始终在5左右
而CPU高达99%,内存使用情况也高达1.7G
网卡流量145K
请问这种情况,是哪里的性能出现问题?
A:你这个CPU和内存监控的得是web服务器 就是部署程序的机器。
1、尝试查看出现这类情况时候数据库process,看看是否是当时进程到达了所设置的进程数上限。如果是则调整数据库进程数上限再测试
2、尝试查看程序连接池设置的最大连接数,如果程序设置的最大连接数上限很小,调整上限在测试看看
进程排队是合理现象,但是需要在当前硬件环境下,将其控制在可接受范围内。
如果经过调整过数据库进程上限和最大连接数,仍然无法解决问题,找到你的脚本
假设你的脚本顺序是(其中a,b,c代表的是程序模块)
web_submit_data(a);
web_submit_data(b);
web_submit_data(c);
分别找出他们在analysis中的响应时间,按照顺序从第一个响应时间长的系统模块开始调优,就是调整程序的算法或者SQL。假如响应时间 b>c>a,那么就先调整b,之后再测试。因为有可能是由于b排队导致c无法正常执行所以才响应时间漫长的。
以上仅供参考,没有用过mongodb,数据库进程数我参考的是oracle进程数的调整。
Q: 1.先说下这个接口是做什么的?你写还是查?
2.你说的CPU高是前段还是DB服务器?
3.你的服务器架构啥样?
这些最基本的要提供
A: 1. 接口是取数据GET操作
2. CPU高是应用服务器那台机子的CPU高,数据库没有监测
3. 服务器架构采用nginx
A: 这个有几种可能:
1.你的服务器出错了,cpu很高,你可以查查日志
2.服务器处理能力很低,占用cpu很高,但是处理量很少
3.内存发生泄露,或者内存不能释放,重复读写频繁,导致内存持续增大,cpu无法处理
压测过程中,CPU和内存占用率很高,案例简单分析的更多相关文章
- IIS解决CPU和内存占用率过高的问题
发现进程中的w3wp占用率过高. 经过查询,发现如下: w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运 ...
- 压测过程中使用nmon对服务器资源的监控
1.nmon工具的下载和安装: 官网:http://nmon.sourceforge.net/pmwiki.php 下载完成后进行解压,更改权限:chmod 777 2.查看linux系统的版本,再使 ...
- 压测过程中,获取不到redis连接池,发现redis连接数高
说明:图片截得比较大,浏览器放大倍数看即可(涉及到隐私,打了码,请见谅,如果有疑问,欢迎骚扰). 最近在压测过程中,出现获取不到redis连接池的问题 xshell连接redis服务器,查看连接数,发 ...
- linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况.一. linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER ...
- wince下的CPU和内存占用率计算
#include <Windows.h> DWORD Caculation_CPU(LPVOID lpVoid) { MEMORYSTATUS MemoryInfo; DWORD Perc ...
- 压测过程中出现ops断崖式下跌原因及排解
压测机器: 100台docker redis集群:16个分片 在开始压测的半个小时中,一直很稳定,ops稳定在20w左右.但是接下来突然ops断崖式下跌,ops降到了3w以下.然后持续一段时间,直至变 ...
- linux ps命令,查看进程cpu和内存占用率排序(转)
使用以下命令查看: ps -aux | sort -k4,4n ps auxw --sort=rss ps auxw --sort=%cpu linux 下的ps命令 %CPU 进程的cpu占用率 % ...
- 解决 oracle IO占用率很高的问题
突然user io占用率很很高,看了一个AWR报告,发现direct path read temp,direct path write temp的的数率很高,后来怀疑是临时表空间不够了,就试着设了一下 ...
- 性能测试:Jmeter压测过程中的短信验证码读取
问题背景 现如今国内的大部分软件或者网站应用,普遍流行使用短信业务,比如登录.注册以及特定的业务通知等. 对于这些业务,在使用Jmeter进行性能测试的过程中,就会需要自动获取和填入短信验证码,否则性 ...
随机推荐
- Linux删除重复行
本文转自http://blog.csdn.net/ithomer/article/details/6926325 文本处理时,经常要删除重复行,下面是三种方法 第一,用sort+uniq,注意,单纯u ...
- NYOJ 6.喷水装置(一)-贪心
喷水装置(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以 ...
- HDU 多校1.2
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- hdu6052
hdu6052 题意 给出一个 \(n * m\) 的网格矩阵,每个格子都有颜色,随机选出一个子矩阵,问颜色种数的期望. 分析 那么我们可以去算所有矩阵的颜色种数之和,也就是每种颜色出现过的矩阵的个数 ...
- JVM加载Class文件的机制
1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的, 类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.java中的类大致分为三种: 1.系统 ...
- CodeForces - 981G Magic multisets
假设我们可以对每个位置快速维护一个数组,记录每个位置有哪些值是已经出现了的,哪些值是没有出现的,这样就可以决定修改的时候到底是 *2 还是 +1了. 但是很可惜,并不存在功能这么强大的数组,所以只能另 ...
- [BZOJ1095]捉迷藏
点了动态点分治的科技树,这道题是树形态不变的动态点分治,形态变化的话...待会补 考虑点分治过程中的这样一种结构:按递归层次把当前层的重心与上层重心互相连接,这就是点分治树,容易看出它的树高只有$O( ...
- iOS开源项目阅读整理
精读过的开源项目,随时整理,随时更新,本文只记录项目地址,名称和内容,不发表心得. 1.AFNetWorking iOS人都知道,不细诉. 2.iCarousel 旋转木马,选项卡很不错的UI解决方案 ...
- lync项目总结
概述 9月份,由于公司人事变动,摆在自己面前也有两条路可选择,一是选择lync,二是选择sharepoint,由于之前,部门老大已经让我看了大概一个月的有关lync方面的资料(文档,代码,项目实施等) ...
- Nginx下载防盗链(迅雷等下载软件)
什么是下载盗链 假设我们是一个B站,有些视频资源是可以提供给用户下载的.这时迅雷等其他下载软件,也提供下载该视频的服务, 但是迅雷很不厚道的,将我们的下载资源提供给他的用户,下载.占用我们的带宽来 ...