前几天,在我搭建的测试环境的MySQL数据库上,出现了SQL查询极慢情况
该SQL在之前的测试库上运行速度还可以。那问题就是我搭建的数据库这个有问题了
服务器配置还不错,8核32G内存,任务管理器一看 CPU使用率1%,内存使用率40%
明明还有这么多的资源,但是该数据库表现却极差,看来该性能调优了。
对于MySQL服务端的性能调优从未做过,也没有这个意识,害,以前总是想着优化SQL,优化表结构,但是却从未考虑过调优服务端。此次调优更改了innodb_buffer_size为2GB, 默认为128M
查询速度一下子就快了,从原来的几十秒到现在的几秒。
通过MySQL这件事我悟到可以通过参数更改应用占用的大小。突然想起之前的一件事
就是原来服务器也是内存不够了,因为要部署新的项目四个端,于是我直接向老板申请了购买新服务器
现在想起来,有点浪费,真的。如果我当时想到通过调优JVM,就可以有效的缩减程序的内存占用,就可以不用再购买新的服务器就能将此次项目部署上来,节省成本。
而且当时我们的访问量并不高,完全可以这么做,改小JVM堆空间。
遗憾的是自己没有这样的思维,只是无脑的加硬件。
我觉得自己的知识储备远远不够,提供的解决方案也不够完整,全面。
但好在我现在可以意识到之前的错误,人贵有自知之明,承认自己的无知。