MySQL进阶篇(01):基于多个维度,分析服务器性能
本文源码: GitHub·点这里 || GitEE·点这里 一、服务器性能简介 1、性能定义 服务器性能优化是一项非常艰巨的任务,当然也是很难处理的问题,在写这篇文章的时候,特意请教下运维大佬,硬件工程师,数据库管理,单从自己的实际开发经验来看,看待这个问题的角度起码是不全面的。 补刀一句 :在公司靠谱少撕逼,工程师这个群体是很好交朋友的,互相学习一起进步,升职加薪他不好吗? 服务性能定义:完成一个任务或者处理一次接口请求所需要的时间,这个时间是指响应完成时间,即请求发出,到页面响应回显结束,这是看待性能问题的基本逻辑。 2、分析性能 服务的基本过程一般如下图,这是一张最简单的前后端分离,加一台数据库存储的流程,但是想要说明一个复杂的逻辑。 从页面请求,到获取完整的响应结果,这个过程每个环节都可能导致性能问题,抛开网络,硬件,服务器,MySQL存储这些核心客观因素,单是下面这行代码就可以秒掉很多人的努力。 Thread.sleep(10000); // 仿佛整个世界都安静了。 影响性能的因素很多,一般说性能优化会从下面几个方面考虑: 网络传输,比如私有云和公有云的交互,接口传输内容过大; 应用服务,接口设计是否最简,没有逻辑问题,架构设计是否合理; 存储服务,MySQL的查询写入,表设计是否合理,连接池配置是否合理; 硬件设施,CPU和内存的利用是否在合理区间,缓存是否合理;