当前位置:Gxlcms > 数据库问题 > mysql 性能优化

mysql 性能优化

时间:2021-07-01 10:21:17 帮助过:1人阅读

:ulimit -n 65535

    2、修改配置文件,永久生效,在/etc/security/limits.conf配置文件中增加:          

       soft nofile 65535
       soft nproc 65535
       hard nofile 65535
       hard nproc 65535


sync_binlog:

sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。


innodb_flush_log_at_trx_commit:

如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去.
如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。


强烈建议关闭query cache。通过配置文件设置query_cache_size = 0、query_cache_type = 0即可。


分布式优化

分库分表:

这里也可以分为2类:

(1)通过前端应用代码逻辑实现的方式,实现表分拆的方式。这样做对应用程序的侵入性比较大,但是数据处理逻辑的过程把控在自己手上,有异常可以自主定位。

(2)通过中间件的方式实现,目前常用的mycat、cobar实现数据分片。

读写分离:

一般通过数据库中间件的方式实现,常用的中间件例如:maxscale、mycat、cobar、altas等


mysql 性能优化

标签:mysql

人气教程排行