58ssl.cn_SSL之家
当前位置: 首页 > SSL推荐 > vps主机优化 > 如何进行vps主机mysql优化

如何进行vps主机mysql优化

关键词:vps主机mysql优化   时间:2015-11-27      来源:SSL之家    点击:
    很多时候,在一些的情况下,由于网站数据的越来越多,从而导致有时候,我们的网站访问速度变得很慢,很多的人们通常都以为是网站程序出了问题,或者是中毒啊,被攻击所造成,其实,很多的时候,只是因为我们没有能够很好的优化我们的vps主机上的mysql数据库导致的。本文详细讲解如何配置适合自己vps主机的mysql配置文件
  
  优化vps主机上的mysql数据库的目的就是,使之更合适vps主机这样的环境
  
  query_cache_size=268435456
  
  query_cache_type=1
  
  query_cache_limit=1048576
  
  查看mysql-server静态参数值命令
  
  mysql>showvariables;
  
  或者mysqladmin-urootvariables
  
  mysql服务器的参数很多,如果需要了解某个参数的详细定义,可以使用mysqld–verbose–help|more
  
  查看mysql-server动态状态信息命令
  
  mysql>showstatus;
  
  或者mysqladmin-urootstatus
  
  其中showstatus分为show[session|global]status;可以根据需要加上参数“session”或者”global”来显示session级(当前统计)的统计结果和global级(自数据库上次启动至今)的统计结果,如果不写,默认为”session”
  
  1、查看和修改默认的存储引擎,关闭不需要的存储引擎
  
  在我们使用vps主机过程中,很多用户只使用MyISAM一个引擎,关闭那么没有使用的InnoDBMEMORY等其他引擎
  
  查看当前系统有哪些引擎
  
  mysql>SHOWENGINES\G
  
  或者第二种方法
  
  mysql>SHOWVARIABLESLIKE'have%';
  
  查看默认引擎
  
  mysql>showvariableslike'table_type';
  
  +---------------+--------+
  
  |Variable_name|Value|
  
  +---------------+--------+
  
  |table_type|MyISAM|
  
  +---------------+--------+
  
  1rowinset(0.00sec)
  
  或者
  
  mysql>showvariableslike'storage_engine';
  
  +----------------+--------+
  
  |Variable_name|Value|
  
  +----------------+--------+
  
  |storage_engine|MyISAM|
  
  +----------------+--------+
  
  1rowinset(0.00sec)
  
  mysql默认的存储引擎是MyISAM,修改默认的存储引擎可以修改/etc/my.cnf参数文件,在[mysqld]字段里面增加default-storage-engine=innodb,这里假设设置默认为innodb,根据自己的需要进行设置,关闭不需要的存储引擎,可以修改/etc/my.cnf参数文件,在[mysqld]字段里面增加–skip-innodb。
  
  2、调节key_buffer_size大小
  
  mysql>showvariableslike'key_buffer_size';
  
  +-----------------+-----------+
  
  |Variable_name|Value|
  
  +-----------------+-----------+
  
  |key_buffer_size|402653184|
  
  +-----------------+-----------+
  
  1rowinset(0.00sec)
  
  mysql>
  
  从上面可以看到,key_buffer_size为:384M,可以修改/etc/my.cnf参数文件,在[mysqld]字段里面增加key_buffer_size=384M,当然也可以使用mysql>setgrobalkey_buffer_size=512M修改。
  
  此参数是用来<strong>设置索引块</strong>(IndexBlocks)缓存的大小,它被所有的线程共享,只适合MyISAM存储引擎。
  
  3、调节table_cache设置
  
  这个参数表示数据库用户打开表的缓存数量,每个连接进来,都会至少打开一个表缓存,如此,table_cache与max_connections有关,
  
  查看当前的table_cache值
  
  mysql>showvariableslike'table_cache';
  
  +---------------+-------+
  
  |Variable_name|Value|
  
  +---------------+-------+
  
  |table_cache|4096|
  
  +---------------+-------+
  
  1rowinset(0.00sec)
  
  从上面可以看到,table_cache为:4096,可以修改/etc/my.cnf参数文件,在[mysqld]字段里面增加table_cachee=4096
  
  4、调节query_cache设置
  
  QueryCache在提高数据库性能方面具有非常重要的作用,其设定也非常简单,仅需要在配置文件写入两行:query_cache_type和query_cache_size,而且MySQL的querycache非常快!而且一旦命中,就直接发送给客户端,节约大量的CPU时间。
  
  当然,非SELECT语句对缓冲是有影响的,它们可能使缓冲中的数据过期。一个UPDATE语句引起的部分表修改,将导致对该表所有的缓冲数据失效,这是MySQL为了平衡性能而没有采取的措施。http://www.58ssl.cn/因为,如果每次UPDATE需要检查修改的数据,然后撤出部分缓冲将导致代码的复杂度增加。
  
  query_cache_type:0代表不使用缓冲,1代表使用缓冲,2代表根据需要使用。
  
  设置1代表缓冲永远有效,如果不需要缓冲,就需要使用如下语句:
  
  SELECTSQL_NO_CACHE*FROMmy_tableWHERE…
  
  如果设置为2,需要开启缓冲,可以用如下语句:
  
  SELECTSQL_CACHE*FROMmy_tableWHERE…
  
  用SHOWSTATUS可以查看缓冲的情况:
  
  mysql>showstatuslike'Qca%';
  
  +-------------------------+----------+
  
  |Variable_name|Value|
  
  +-------------------------+----------+
  
  |Qcache_queries_in_cache|8|
  
  |Qcache_inserts|545875|
  
  |Qcache_hits|83951|
  
  |Qcache_lowmem_prunes|0|
  
  |Qcache_not_cached|2343256|
  
  |Qcache_free_memory|33508248|
  
  |Qcache_free_blocks|1|
  
  |Qcache_total_blocks|18|
  
  +-------------------------+----------+
  
  8rowsinset(0.00sec)
  
  如果需要计算命中率,需要知道服务器执行了多少SELECT语句:
  
  mysql>showstatuslike'Com_sel%';
  
  +---------------+---------+
  
  |Variable_name|Value|
  
  +---------------+---------+
  
  |Com_select|2889628|
  
  +---------------+---------+
  
  1rowinset(0.01sec)
  
  在本例中,MySQL命中了2,889,628条查询中的83,951条,而且INSERT语句只有545,875条。因此,它们两者的和和280万的总查询相比有很大差距,因此,我们知道本例使用的缓冲类型是2。
  
  而在类型是1的例子中,Qcache_hits的数值会远远大于Com_select。Qcache_not_cached是可以记录DML语句的数量的。
 
      想了解更为详尽的vps主机,mysql该如何更为准确的去进行配置等相关方法,可以阅读相关文章:VPS主机上配置IIS+PHP+MySQL+Zend教程全解



上一篇:没有了 下一篇:没有了

本文链接:https://www.58ssl.cn/vpszhujiyouhua/VPSyouhua.html TAG:"vps主机mysql优化"转载请注明出处。

百度新闻 百度地图 谷歌地图
Copyright© 2010-2020 SSL之家