mysql优化调整哪些东西

CPU:

       考虑它的主频,可以隔离出来一个U,taskset 绑定到一个U上单独跑

 

I/O:

      1、 show variables like '%innodb_flush_log%';

         innodb_flush_log_trx_commit
     
       建议将这个改成2 比较折中的办法,先写到内存中再写到磁盘中,mysql进程死了,
       数据不会丢,除非断电了
      
      2、可以考虑  notime 访问时间去除
  
      3、可以将它的日志单独导入另一个磁盘,最好用个raid设备

network:
   

    1、以前学的tcp.max_syn_backlog 跟并发有关,并发数高必须调,请求队列中排队的        大小
   

    2、还有somaxconn的值

 

   数据库里面:


    1、可以改connect_timeout 连线超时时间
   

    2、 可以改interactive_timeout 连接后什么都不执行的超时时间

 

内存:

1、可以增大临时表的大小 ,优化查询语句 

       show variables like '%tmp';

       tmpdir /tmp/ 临时表创建的位置

       tmp_table_size 

2、可以改Threads 线程缓存,减少从需要到产生的时间

        show variables like '%thread%';

        thread_cache_size

3、可以改mysam引擎 调整他的key_buffer  

          show variables like '%key%'

         set global key_buffer_size=16777216;

4、可以改show variables like '%table%';

            table_cache set global table_cache='128';

             把表的文件描述符写入到内存中了

5、可以改InnoDB Buffer Pool 

         Usage 越大越好 show variables like '%innodb%';

         set global innodb_buffer_pool_size='?????';

          根据需要来


还有qc那东西比较复杂了。。。。

你可能感兴趣的:(mysql,优化)