在linux高负载下mysql数据库彻底优化

在linux高负载下mysql数据库彻底优化

ID:21272662

大小:57.00 KB

页数:4页

时间:2018-10-20

在linux高负载下mysql数据库彻底优化_第1页
在linux高负载下mysql数据库彻底优化_第2页
在linux高负载下mysql数据库彻底优化_第3页
在linux高负载下mysql数据库彻底优化_第4页
资源描述:

《在linux高负载下mysql数据库彻底优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在Linux高负载下mysql数据库彻底优化>>教育资源库  同时在线访问量继续增大对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机或者时不时的服务器卡一下这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。  安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.fmy-medium.fmy-large.fmy-small.f,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制

2、文件了。  一般的情况下,my-medium.f这个配制文件就能满足我们的大多需要;一般我们会把配置文件拷贝到/etc/my.f只需要修改这个配置文件就可以了,使用mysqladminvariablesextended-status–uroot–p可以看到目前的参数,有3个配置参数是最重要的,即key_buffer_size,query_cache_size,table_cache。  key_buffer_size只对MyISAM表起作用,  key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引

3、读的速度。一般我们设为16M,实际上稍微大一点的站点 这个数字是远远不够的,通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads/key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOkey_read_requests–650759289key_reads-79112  比例接近1:8000健康状况非常好  另外一个估计key_buffer_size的办法 把你网站数据库的每个表的索引所占空间大

4、小加起来看看以此服务器为例:比较大的几个表索引加起来大概125M这个数字会随着表变大而变大。  从4.0.1开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。  通过调节以下几个参数可以知道query_cache_size设置得是否合理QcacheinsertsQcachehitsQcacheloemprunesQcachefreeblocksQcachetotal

5、blocks  Qcache_loem_prunes的值非常大,则表明经常出现缓冲不够的情况,同时Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。  Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多query_cache_type指定是否使用查询缓冲  我设置:  query_cache_s

6、ize=32M  query_cache_type=1  得到如下状态值:  Qcachequeriesincache12737表明目前缓存的条数  Qcacheinserts20649006  Qcachehits79060095 看来重复查询率还挺高的  Qcacheloemprunes617913 有这么多次出现缓存过低的情况  Qcachenotcached189896    Qcachefreememory18573912  目前剩余缓存空间  Qcachefreeblocks5328这个数字似乎有点大 碎片不少  Qcachetotalbl

7、ocks30953  如果内存允许32M应该要往上加点  table_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOWSTATUSLIKEOpen%tables获得)。注意

8、,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。