举个栗子1:
客户IE11的浏览器,进行数据提交时,浏览器报404(非程序类404),应该是浏览器提交数据时响应头缺失导致:
在不修改程序的情况下,解决办法如下:
1.打开CMD,输入regedit,回车
2.找到HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
3.这个注册表项下添加一个DWORD的值,名称为:iexplore.exe值为十进制:
-
对应十进制值:输入7000,默认打开浏览器为IE7浏览器模式及IE7文档模式
-
对应十进制值:输入8888,默认打开浏览器为IE8浏览器模式
-
对应十进制值:输入8000,默认打开浏览器为IE8浏览器模式及IE8文档模式
-
对应十进制值:输入9999,默认打开浏览器为IE9浏览器模式
-
对应十进制值:输入9000,默认打开浏览器为IE9浏览器模式及IE9文档模式
-
对应十进制值:输入10001,默认打开浏览器为IE10浏览器模式
-
对应十进制值:输入10000,默认打开浏览器为IE10浏览器模式及IE10文档模式
浏览器模式和文档模式对应F12中:
使用完毕后,删掉对应的值,则还原为对应浏览器默认值。
举个栗子2:
性能测试过程中,对于非java项目,遇到CPU100%问题的简易处理步骤:
1、Linux下非常实用的命令:top
找到最耗CPU的进程ID,如:32060
2、找到此进程下,最耗CPU的线程:top -p 32060 -H
会发现有很多线程ID,记下看着比较大的线程ID,如:32099
3、使用jdk自带的命令jstack,将堆栈信息打印到文件中:
jstack 32060>cpu0315.txt
4、打开此文件,发现线程ID是16进制的,强大的计算器派上用场:
输入刚才记录的线程ID,如:32099,输入后点击十六进制
在导出文件中搜索对应的线程ID,对应内容就是CPU使用高的原因;
一般遇到CPU高,需要先进行初步判断,然后根据判断来调整tomcat/conf/server.xml线程池配置后继续测试(如系统存在大量静态资源,建议先做完动静分离后,再测试。)
举个栗子3:
执行某功能操作时,后台报错Lock wait timeout exceeded; try restarting transaction,初步断定为SQL执行异常,进入数据库,show processlist;发现有条线程
根据这条SQL,进入此表进行查询和手动删除,仍然无法删除;初步认为估计是这张表锁了。
找实施协助:
1.执行SELECT * FROM information_schema.INNODB_TRX\G;
发现有两条线程
2.kill掉这两条线程
.
3.再次执行删除,删除成功。