摘要:
现象 压测过程中,发现应用服务器CPU使用率比较高(80%) 这种现象产生的原因,一可能是接口性能非常好,比如响应时间10ms,TPS很高,此时CPU使用率很高是正常的,不需要做代码层面的优化;还有一种情况就是接口性能不好,可能响应时间>200ms,TPS很低,这种情况下就需要定位问题并做优化了。 阅读全文
摘要:
定义 在多线程情况下,如果一个线程拥有某个资源的锁,那么这个线程就可以运行资源相关的代码,其他线程就只能等待其执行完毕后,才能继续争夺资源锁,从而运行相关代码。 场景 车票售卖系统,当剩余车票为1张,此时有A/B/C/D四个用户同时来购票,系统开启了四个线程来执行业务操作。 上图中, 首先A线程刚执 阅读全文
摘要:
定义 线程死锁就是有两个线程,一个线程锁住了资源A,又想去锁住资源B,另外一个线程锁定了资源B,又想去锁定资源A,两个线程都想去得到对方的资源而又不愿意释放自己的资源,从而造成了一种互相等待、无法执行的情况。 现象 出现死锁后,TPS降为0,性能测试工具无法得到服务器的响应, 服务器硬件资源空闲 通 阅读全文