- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 性能问题排查汇总
1、服务器IO高问题定位和优化2、Mysql数据库高CPU问题定位和优化3、应用服务器CPU高性能定位和排查4、负载增加,TPS不变【性能分析】5、负载不变,响应时间随压测时间逐渐变长,TPS下降【性能分析】6、多次压测,TPS值乘台阶式逐级下降【性能分析】7、CPU上下波动呈锯齿型波动【性能分析】8、CPU消耗飚高【性能分析】...
2020-06-15 11:54:53 854
原创 服务器IO高问题定位和优化
这次分享主要是针对大家经常面试中遇到的性能相关问题的可能猜测和定位、解决的方法,我在面试的过程中发现好多同学并没有一个清晰的思路本课程的主旨及目标•导致服务器IO高的常见原因•常见定位问题的方法==导致服务器IO高的常见原因=========================================================================简介...
2019-05-25 10:37:03 6420
原创 Linux服务器清理不干净,试试这个脚本
最近测试自动化跑的比较多,导致堆积的数据特别多,服务器磁盘经常爆满,先用了网上搜的Linux shell脚本清理脚本,结果不理想,好像只能根据时间戳去删除某个时间之前的文件,不能满足我的诉求。因为每次跑自动化,都需要拉取最新的测试工程和依赖【差不多要2个G】,每天每个人都要跑好多遍,导致磁盘消耗很高,而我是需要删除前一天所有的测试工程和依赖,而网上的只会删除部分文件,磁盘占用还是很高,所以我根据自己的需要写了个清理脚本,并加入定时任务,每天凌晨2点清理。1. 清理脚本copy后,保存为clear
2022-04-12 10:50:56 733
原创 python批量造测试数据存入mysql
最近测试同事要造100万用户数据,搞了好长时间,头发都揪掉了,我听到后赶紧写个自动生成测试数据来给她解决问题,大家有需要也可以改改使用。下面的内容都是可以直接copy使用,只需要修改一下mysql连接信息,就可以了。1. mysql建表首先我们先用mysql建个test数据库,然后用下面的建表语句建表:-- ------------------------------ Table structure for user-- ----------------------------DR.
2022-04-12 09:55:01 1093
原创 python安装报_ssl问题
背景:今天在Linux上使用paramiko模块的时候,出现了错误:ModuleNotFoundError:No module name '_ssl',但是我的系统是安装了openssl的1.0.1的,查了网络上的信息发现,Python3.7以后的版本,需要openssl1.0.2+,或者Libressl2.6.4+。按照网络上的方法,安装了openssl-1.1.1g,对Python3.8重新手动编译安装,但是在执行make命令的时候仍旧提示_ssl模块没有被成功导入。经过查询,发现是LDFLAG
2022-04-07 13:21:09 1943
原创 python编程常见问题【持续更新】
1.exec执行python语句,如何获取返回值?//定义global bexec('global b;import time;a="0000001085676108";b="0{}&{}&0{}".format(a[-3:-2],a[-3:-1],str(int(time.strftime("%m"))-1))')//读取global b的值global bprint("bbbb:" + b)2.如何添加定时任务?from apscheduler.scheduler
2021-09-09 15:27:34 280
原创 testng实战入门教程
TestNG入门一、概述1、TestNG是一个开源自动化测试框架其灵感来自JUnit和Nunit,TestNG还涵盖了整个核心的JUnit4功能,但引入了一些新的功能,使其功能更强大,使用更方便。优势:支持依赖测试方法,并行测试,负载测试,局部故障;灵活的插件API;支持多线程测试;2、Maven依赖idea默认已经安装testng了,检查是否安装:File ==> Settings ==>Plugins ==> 搜索testng若已经安装TestNG的插件,显示如下:
2020-07-16 19:04:11 2143 1
原创 jmeter分布部署,window作主控机,linux作负载机【完整-包含问题和解决方法】
1、所需工具查看linux系统信息是64位的jdk-8u251-linux-x64.tar.gzhttps://download.oracle.com/otn/java/jdk/8u251-b08/3d5a2bb8f8d4428bbe94aed7ec7ae784/jdk-8u251-linux-x64.tar.gz?AuthParam=1594705357_39d666128796b8b68a04eac282a3882fapache-jmeter-5.3.tgzhttps://.
2020-07-15 14:55:55 854
原创 python with open报错:ValueError: I/O operation on closed file
使用关键字with时,open()返回的文件对象只在with代码块内可用。如图在with代码块外使用,就会报错:我们可以将读取的的各行存储到一个列表里,然后再代码块外使用:
2020-06-28 21:14:14 2412
原创 editplus配置python环境
菜单栏 选择 工具 -> 配置自定义工具组名:python命令:d:\python35\python.exe参数A: $(FileName)起始目录:$(FileDir)动作:捕获控制台输出保存即可
2020-06-24 14:42:37 350
原创 Java读取 .properties 配置文件
基于 InputStream 读取配置文件注意:该方式的优点在于可以读取任意路径下的配置文件package com.utils;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.Properties;public class Read_properties { public static void main(String[] args...
2020-06-23 19:13:49 181
原创 shell批量修改linux密码
#!/bin/shIFS='='new_pass='xxxxxxx'while read ip pswd do echo "$ip : $pswd"expect<<EOFspawnsshroot@$ip"echo$new_pass|passwd--stdinroot"expect"(yes/no)?" {send"yes\r"...
2020-06-23 19:11:37 350
原创 Wildfly常用运维命令
Wildfly --domain查看进程:ps -ef |grep java停止:pkill java (执行完之后查看进程,若进程依然存在无法停止则执行pkill -9 java)启动:/opt/jboss/bin/start.sh(启动服务时注意切换用户jbossuser)日志文件:/opt/jboss/domain/servers/$servername/log/server.log配置文件:/opt/jboss/domain/configuration/domain.xmlWildfl
2020-06-23 10:12:25 1575
原创 IHS常用运维命令
查看进程:ps -ef |grep httpd配置文件:/opt/IBM/HTTPServer/conf/httpd.conf检查配置语法:/opt/IBM/HTTPServer/bin/apachectl -t日志文件:/opt/IBM/HTTPServer/logs/access_log_2017-08-18-16_00_00停止:/opt/IBM/HTTPServer/bin/apachectl -f /opt/IBM/HTTPServer/conf/httpd.conf -k stop启动
2020-06-23 10:10:51 3327
原创 Apache常用运维命令
查看进程:ps -ef |grep httpd配置文件:/opt/apache/conf/httpd.conf检查配置语法:/opt/apache/bin/apachectl -t日志文件:/opt/apache/logs/access_log_2017-08-18-16_00_00停止:/opt/apache/bin/apachectl -f /opt/apache/conf/httpd.conf -k stop启动:/opt/apache/bin/apachectl -f /opt/apach
2020-06-23 10:08:32 372
原创 Nginx常用运维命令
查看进程:ps -ef |grep nginx配置文件:/usr/local/nginx/conf/nginx.conf检查配置语法:/usr/local/nginx/sbin/nginx-t日志文件:/opt/rsync_log/access_http.log停止:/usr/local/nginx/sbin/nginx -s stop启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf重载配置信息:/usr/l..
2020-06-23 10:07:36 310
原创 git简单教程--10分钟掌握
安装git bash 网址:https://git-scm.com/download/win 点击for windows版本->下载 cd 进入本地工作区 提交流程 1.本地工作区(git init)初始化建立暂存区 2.工作区=>暂存区 git add 文件 git add * //提交所有文件 git commit -m '这是第一次提交的描述' 3、查看当前工作区的状态 git status 4、从暂存区恢复文件到工作区 ..
2020-06-19 14:25:06 177
原创 JVM基础及性能监控--基础知识【一】
一、JVM概念什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具
2020-06-19 14:16:16 184
原创 压测过程中,发现其中一台redis的CPU和IO过高,连接失败,数据丢失
问题描述:压测过程中,发现其中一台redis的CPU和IO较高问题定位:初步怀疑是热点数据造成的,进一步检查发现数据由于分片规则不合理,造成数据都集中存储到某一台redis实例,导致该实例内存IO都过高,连接失败,数据丢失...
2020-06-17 10:10:00 597
原创 服务器CPU达到90%问题分析
问题描述:压测一段时间后,发现服务器CPU达到90%问题定位:根据jstack日志分析发现,XX报表查询代码在多线程情况下使用了HashMap对象作为存储媒介,多线程同时put时,如果同时触发了rehash操作,会导致HashMap中的链表中出现循环节点,后续继续get value的时候,会触发死循环 ...
2020-06-17 09:54:49 1054
原创 一次OOM性能问题分析【二】
问题描述:XX系统版本发布后,系统运行半小时后应用出现OOM宕机问题定位:分析Java core之后发现大量的从数据库查询的数据占用了大量的内存,分析了慢SQL之后发现程序多次获取整个xx关系对照表的30万条记录,导致内存不断的积压...
2020-06-17 09:52:55 242
原创 一次OOM性能问题分析【一】
XXX系统评价详情接口入参解密失败,导致入参赋值出错引发SQL查询性能问题问题描述:xxx的评价详情接口入参解密失败,导致入参赋值出错引发SQL查询性能问题。问题影响:系统会出现OOM,稍后会自动释放原因:入参是加密的,但传入的密文解密失败时未抛出异常,而是当成空值去查sql了, 导致全表查询 解决:对解密后的入参做必输校验异常情况下,入参为空才导致条件只有1=1的,正常情况下是有条件的...
2020-06-16 12:40:14 360
原创 selenium常用方法一【记不住你打我】
一、浏览器操作【记忆技巧:大小、宽高、前后】1、浏览器最大、小化driver.maximize_window()Driver.minimize_window()2、设置浏览器宽和高driver.set_window_size(800,800)3、控制浏览器前进、后退driver.forward()driver.back()二、8种简单对象的定位【记忆技巧:爱你俩cp同性】find_element_by_id()----唯一【i爱】find_element_by_name()----唯
2020-06-15 17:06:45 429
原创 性能瓶颈分析--汇总
一、服务端1、代码写法或算法不优2、数据库索引不当3、应用参数配置不当4、操作系统配置不当5、硬件配置低6、负载均衡配置不当二、客户端(压测机)1、CPU(压测过程中注意查看:70%~100%)2、内存(FreeMomery > 20%)3、磁盘(监控磁盘IO、日志级别)4、网络5、OS参数三、中间层1、网络堵塞2、调用系统处理慢...
2020-06-15 14:23:16 379
原创 高并发下服务器出现500、504错误【性能分析】
1、首先检查测试环境2、检查测试脚本问题,比如前面请求失败后面请求照发导致的错误3、niginx的work_connection配置4、由于系统limits open files 限制导致
2020-06-15 14:11:21 3903
原创 CPU消耗飚高【性能分析】
主要考虑:1、web硬件配置低,MaxThread2、App高消耗线程,top、jstack命令查找3、DB数据库创建适当索引4、程序代码不当,存在死循环等问题【结合2分析】
2020-06-15 11:53:49 632
原创 CPU上下波动呈锯齿型波动【性能分析】
主要考虑:1、写日志2、频繁GC3、存在后台定时任务4、负载不均5、外部调用系统处理不稳定忽快忽慢6、网络延时、抖动、丢包7、压测脚本单函数做多分支方式压测
2020-06-15 11:41:15 3076
原创 visualvm远程性能监控wildfly/jboss配置
最近新搭建了系统环境,进行压力测试的时候没有一个好的图形化监控方法来比较直观、方便、动态、实时的来监控应用服务器内存、GC、CPU、进程和磁盘等信息,功能非常强大,图像也很友好。但是wildfy配置jmx的文章资料很少,我通过参考官网和一些贴吧实践琢磨出了配置jmx的流程:1】确认监控端口(一般都是8080端口)standalone:查看standalone.xml中jboss.http.port为8080domain:查看standalone.xml中jboss.http.port为8080
2020-05-30 19:38:04 900
原创 Mysql数据库高CPU问题定位和优化
本课程的主旨及目标•导致mysql数据库CPU高的常见原因•常见定位问题的方法•一般定位步骤•数据库注意事项导致mysql数据库CPU高的常见原因占用CPU过高,可以做如下考虑:1)一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条在执行的SQL,showprocesslist语句,查找负荷最重的SQL语句,优化该SQL,比如适当建立某字段的索引;2)打开慢查询日志,将那些执行时间过长且占用资源过多的SQL拿来进行explain分析,导致CPU过高,多数是Grou.
2020-05-30 19:33:37 9213 2
原创 ngrinder绕过图形验证通过cookie来发送接口报文实例
如何绕过图形验证通过cookie来发送接口报文实例1】输入用户名、密码、验证码登录进入系统2】任意选择一个页面点进入,F12进入开发者模式,在控制台输入document.cookie.split(';'),获取cookie列表中sessionId3】在控制台输入document.domain,来获取域名4】将代码中的new Cookie的第一个参数为cookie名、第二个参数为cookie值、第三个参数为域名,第四和第五个不用变cookieList.add(newCo..
2020-05-30 19:17:36 431
原创 mysql千万级表优化方案
资源链接在下面,大家可以下载后,在工作中查看【注意:用百度脑图打开】1、避免【在开发过程中应该注意可以提前避免的,这时的代价是最小的】2、建议【开发过程的一些好的建议,避免走一些没必要的弯路和深坑】3、索引【索引很重要,创建合适的索引更重要】4、特殊【一些比较特殊的,看到了,可以注意】...
2020-05-29 17:55:28 258
原创 索引快速入门
索引是一种特殊的数据结构索引种类普通索引唯一索引主键索引复合索引全文索引创建普通索引:create index indexname on tablename(columnname(length));创建唯一索引create unique index indexname on tablelname(columnname(length));创建复合索引create index indexname on tablename(columnname_1,columnna
2020-05-29 16:43:15 172
jcreatorPro
2014-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人