Windows 上 mysql 硬盘方面的优化

    最近做了个爬虫,使用的数据库是 mysql 一开始是放在 SSD 上的,根本没感觉到磁盘性能的问题 ,后来数据过大,就把数据库全部转移到普通硬盘上,磁盘性能的问题顿时出现了,表现为硬盘读写的负荷非常大,好的打开 my.ini 修改下 InnoDB 内存相关的设置

innodb_buffer_pool_size = 3500M
innodb_log_file_size = 256M
innodb_log_buffer_size = 256M

重启下,磁盘压力有所减轻,表现在读写的字节数量减少,不过硬盘还是转个不停。百度谷歌一番后又发现了一个对硬盘有影响的选项 innodb_flush_log_at_trx_commit 表示每次提交事务后,将数据写入磁盘的方式,如果将其设置为 0 那么,每次提交事务后,将不会有对硬盘的操作,也就是写到内存里面了,但是mysql会每隔1秒将内存中的数据提交到日志文件的,好的 将其设置为0 ,再看一下,果然硬盘写的压力减轻了不少,不过mysql还是1秒写一次,百度谷歌一番,貌似没法阻止这个操作,而且mysql每次都是将数据直接 flush 到硬盘,系统的缓存基本不起多大的作用~

    一番思考后,突然想到可以使用一些使用缓存优化硬盘读写的软件,这类软件驱动层拦截IO请求,这样即时上层mysql 强制写入硬盘,也不会真正生效,而是被这类软件拦截写入到缓存了,一番百度找到某个软件 ****cache ,大家自己百度,将数据库服务器所在的分区设置为启用缓存,然后使用我SSD来做缓存,再看一下,发现一段时间 硬盘的写操作已经降到 0 了 (先缓存 然后一次性写入)。不过读操作还是蛮频繁的,貌似可以更改读取操作 顺序的读 这样可以比较好的利用到智能预读的技术。。。。。。。。。

转载于:https://my.oschina.net/sincoder/blog/189768

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值