摘要:
一、现象 /pinter/case/cpu?type=1 使用google的gjson.tojson性能较差 type=2 使用性能好的阿里巴巴的fastjson库 压测过程中,发现应用服务器的CPU使用率比较高(>80%): 两种情况: 1、接口的性能非常好,比如响应时间<10ms,tps很高,此 阅读全文
摘要:
一、定义 在多线程情况下,如果一个线程对拥有某个资源的锁,那么这个线程就可以运行资源相关的代码。而其他线程就只能等待其执行完毕后,才能继续争夺资源锁,从而运行相关代码。二、场景 车票售卖系统,当前剩余车票1张,此时有A、B、C、D四个用户同时来购票,系统开启了四个线程来执行业务操作,其中: A线程刚 阅读全文
摘要:
一、定义 线程死锁就是有两个线程,一个线程锁住了资源A,又想去锁定资源B,另外一个线程锁定了资源B,又想去锁定资源A,两个线程都想去得到对方的资源,而又不愿释放自己的资源,从而造成一种互相等待,无法执行的情况。死锁是一种严重的阻塞。 二、现象 /pinter/case/block 出现死锁后,tps 阅读全文
摘要:
一、查看Jvm运行状态的命令 监控jvm的GC情况: jstat -gcutil pid 1000 100 查看jvm配置信息: jmap -heap pid:可以看到java进程的堆的配置信息,各区的空间大小和配置信息 查看jvm中类和对象的占用情况: jmap -histo 5279 | hea 阅读全文
摘要:
方式一:将token值取出,设为全局变量,同线程组内可共用token值 1.登录请求如下: 2.从登录请求返回json字符串中提取token值,保存为变量token_0: 3.将token设置为全局变量,保存为 token_1: 4. 其他线程调用token: 方式二:将token值取出,设为全局变 阅读全文
摘要:
1.操作系统监控命令: top,在top命令中,输入数字1展示每个核的CPU使用情况 2.内存监控命令:free free -m 以MB为单位显示系统内存的使用情况,同理,也可以使用-k、-g等其他的单位显示 free命令从两个维度统计了内存的使用情况 第一行Mem:从操作系统角度统计内存的tota 阅读全文