MySQL server安装前后需求做哪些优化
发布时间:2022-01-19 13:50:31 所属栏目:MySql教程 来源:互联网
导读:本篇内容介绍了MySQL server安装前后需要做哪些优化的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、硬件部分 1、建议单独跑MySQL server的服务器
本篇内容介绍了“MySQL server安装前后需要做哪些优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、硬件部分 1、建议单独跑MySQL server的服务器 使用ssd磁盘,提高磁盘的io 2、建议选择使用RAID 10 而非RAID 5 RAID 10 虽然浪费了一部分磁盘空间,但是比RAID5 的IO能力提高不少 二、OS部分 1、建议使用deadline/noop这两种I/O调度器,系统默认的为cfq 2、建议使用xfs文件系统、高并发情况下凸显出其性能优势 三、系统内核优化 1、将net.ipv4.tcp_tw_recycle设置为1 2、将net.ipv4.tcp_tw_reuse 设置为1 3、将以上两个参数开启,可快速减少在TIME-WAIT状态TCP连接数,提高TCP效率 4、将vm.dirty_background_ratio设置为5 5、将vm.dirty_ratio设置为10 vm.dirty_background_ratio:这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存 vm.dirty_ratio而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。 6、将vm.swappiness设置为0 可以降低swapping的延迟(前提是确保机器不会出现内存不足的情况,若出现可能会被oom掉) 四、MySQL server参数优化 1、建议使用innodb存储引擎、MySQL5.5之后的默认存储引擎是innodb引擎,可满足95%以上用户需求 2、建议调整innodb_buffer_pool_size的大小,主要作用是缓存innodb表的索引,数据,插入数据时的缓冲默认为128M,如果是单独MySQL服务器,建议设置为物理内存的70%--80%左右。 并不是设置的越大越好。设置的过大,会导致system的swap空间被占用,导致操作系统变慢,从而减低sql查询的效率。 innodb的logfile就是事务日志,用来在 mysqlcrash后的恢复.所以设置合理的大小对于mysql的性能非常重要 3、建议设置innodb_log_files_in_group = 2 4、建议设置innodb_file_per_table = 1 使用单独表空间易维护 1. 如果使用软链接将大表分配到不同的分区上,易于管理数据文件 3. 易于修复和恢复损坏的数据 3.2 导出导入只针对单个表,而不是整个共享表空间 5. 对于大量的delete操作,更易于回收磁盘空间 7. 易于安全审计 有三个值:fdatasync(默认),O_DSYNC,O_DIRECT 为O_DSYNC时,innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件 在类unix操作系统中,文件的打开方式为O_DIRECT会最小化缓冲对io的影响,该文件的io是直接在用户空间的buffer上操作的, 并且io操作是同步的,因此不管是read()系统调用还是write()系统调用,数据都保证是从磁盘上读取的 5、建议设置binlog_format=row 默认为statement,强烈建议设置为row模式 记录每一条记录的修改,有利于主从同步 “MySQL server安装前后需要做哪些优化”的内容就介绍到这里了,感谢大家的阅读。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |