游戏服务器托管MySQL性能的提高方法
发布时间:2019-08-02 点击数:1519
游戏服务器托管MySQL的性能非常重要,服务器托管用户一般也都非常注重MySQL的性能优化,接下来小编就给大家分享下游戏服务器托管MySQL性能的提高方法。
短连接
短连接模型存在一个风险,就是一旦数据库处理的慢一些,连接数就会暴涨。max_connections参数,用来控制一个MYSQL实例同时存在的连接数的上限,超过这个值,系统就会拒绝接下来的来连接请求,并报错提示“Too many connections”。对于被拒绝连接的请求来说,从业务角度看就是数据库不可用。调高max_connections的值,有可能导致已经连接的线程拿不到CPU资源去执行业务的SQL请求。
第一种方法:先处理掉那些占用连接但是不工作的线程。
max_connections的计算,不是看谁再running,是只要连着就占用一个计数位置。对于那些不需要保持的连接,我们可以通过kill connection + 线程id 主动踢掉。这个行为跟事先设置wait--timeout的效果是一样的。设置wait--timeout参数表示的是,一个线程空闲wait--timeout这么多秒之后,就会被MYSQL直接断开连接。第二种方法:减少连接过程的消耗。
有的业务代码会在短时间内先大量申请数据库连接做备用,如果现在数据库确认是被连接行为打挂了,那么一种可能的做法,是让数据库跳过权限验证阶段。跳过权限验证的方式是:重启数据库,并使用-skip-grant-tables参数启动。这样,整个MYSQL会跳过所有的权限验证阶段,包括连接过程和语句执行过程在内(风险极高)。
在MySQL 8.0版本里,如果你启用-skip-grant-tables参数,MySQL会默认把-skip-networking参数打开,表示这时候数据库只能被本地的客户端连接。可见,MySQL官方对-skip-grant-tables参数的安全问题也很重视。
这些方法对于提高MySQL性能还是比较有效的,另外就是游戏服务器对稳定性的要求比较高,所以建议大家找云网时代这类比较有实力的服务商,云网时代机房全年稳电,有专业技术团队提供7x24小时服务,确保服务器的安全稳定,云网时代专业提供深圳主机租用,深圳服务器托管,深圳服务器租用,云主机租用等服务,欢迎咨询客服了解详情。