其实在我们日常搭建的服务器的使用过程中,往往会见到服务器的资源占用率很高,这个时候,老板就会选择提升服务器性能,提升服务器性能之后呢,作用依旧 捉襟见肘,后而优化缓存,使用redis,这个时候就好点啦~
但是从本质上去解决这个问题,应该是去分析,服务器中哪一步分资源占用率高,从而优化解决问题的,要解决问题,成功的首要条件就是大方向不能错,下面是具体的数据库方面的配置,数据库的瓶颈也就是IO问题,所以才会引出用缓存redis,memcached的使用
配置方面对于IO优化的原则:尽可能能缓存,减少读对数据库的随机IO的请求;同时减少写的随机IO的随时发生,利用各种buffer去缓存。下面来看一下这块的参数:
innodb_buffer_pool_size : 这是Innodb最重要的一个配置参数,这个参数控制Innodb本身的缓大小,也影响到,多少数据能在缓存中。建议该参数的配置在物理内存的70%-80%之间。
innodb_flush_method: 这个控制Innodb的IO形为,什么:fsync, O_DSYNC之类的,这里不做过多介绍, 建议使用: O_DIRECT, 这样减少操作系统级别VFS的缓存使用内存过多和Innodb本身的buffer的缓存冲突,同时也算是给操作系统减少点压力。
innodb_io_capacity:这个参数据控制Innodb checkpoint时的IO能力,一般可以按一块SAS 15000转的磁盘200个计算