您的位置:首页 > 财经 > 产业 > 页面设计尺寸规范_企业宣传片策划公司_百度联系方式人工客服_山东seo百度推广

页面设计尺寸规范_企业宣传片策划公司_百度联系方式人工客服_山东seo百度推广

2025/4/22 7:43:31 来源:https://blog.csdn.net/Bonnie_1215/article/details/146970850  浏览:    关键词:页面设计尺寸规范_企业宣传片策划公司_百度联系方式人工客服_山东seo百度推广
页面设计尺寸规范_企业宣传片策划公司_百度联系方式人工客服_山东seo百度推广

1、优化思路

当我们发现了一个慢SQL的问题的时候,需要做性能优化,一般我们是为了提高SQL查询更快,一个查询的流程由下图的各环节组成,每个环节都会消耗时间,要减少消耗时候需要从各个环节都分析一遍。

2 连接配置优化

        第一个环节是客户端连接到服务端,这块可能会出现服务端连接数不够导致应用程序获取不到连接。
       "MySQL error 1040 "Too many connections" 指的是你的数据库服务器达到了它的最大连接数限制。这通常发生在数据库服务器同时处理了太多的客户端连接请求时。
       1、服务端:从服务端来说可以增加连接数,如果多个应用或者请求同时访问数据库,连接数不够的时候可以设置连接数更大些。

-- 修改最大连接数,当有多个应用连接的时候
SHOW VARIABLES LIKE 'max_connections';

        2、服务端:及时释放不活动的连接,交互式和非交互式的客户端默认超时时间都是28800秒,8小时,我们可以把值调小

-- 及时释放不活动的连接,注意不要释放连接池还在使用的连接
SHOW VARIABLES LIKE 'wait_timeout';

3、客户端:减少从服务端获取的连接数,如果想要不上每一次执行SQL都创建一个新的连接,我们可以使用数据库连接池,实现连接的复用。比如dbcp、c3p0、阿里Druid、Hikari(springboot 2.x版本默认的连接池)
        连接池也不是越大越好,只要维护好一定数量大小的连接池,其他客户端排队等待获取连接就可以了,有的时候连接池越大,效率反而越低。
        Druid默认最大连接池大小是8,Hikari默认最大连接池大小是10。
        一般建议连接池大小是机器核数乘以2+1,也就是说4核的机器,连接池维护9个连接就够了,这个公式从一定程度上来说对其他数据库也是适用的。
        每一个连接,服务端都是需要创建一个线程来处理它的,连接数越多,服务端创建的线程数就会越多。创建连接会消耗时间消耗资源;而且在CPU同时执行执行超过核数的线程是通过分配时间片以及上下文切换方式实现的。CPU的核数是有限的,频繁的上下文切换会造成比较大的开销。
        所以在修改数据库的配置的时候需要结合部署服务器的配置,比如服务器的CPU、内存、磁盘、网络。在不同硬件支撑下MySQL的配置也不尽相同。

参数名称案例值

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com