职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 2054|回复: 0

[数据库]mysql数据库优化

[复制链接]
yoyo 发表于 2006-8-19 11:28 | 显示全部楼层 |阅读模式
<p> 首先,为了使一个系统更快,最重要的部分就是基础设计,不过有些东西是现有情况下无法逾越的,比如说系统常见的瓶颈.<br/>我所能想到的: </p><p>1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是----用多个硬盘,或者把数据分散存储. </p><p>2:硬盘的读写速度,这个速确浅5目?这个更容易解决--可以从多个硬盘上并行读写. </p><p>3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素. </p><p>4:内存的限制.当cpu需要超出适合cpu缓存的数据时,缓存的带宽就成了内存的一个瓶颈---不过现在内存大的惊人,一般不会出现这个问题. </p><p>第二步: (本人使用的是学校网站的linux平台(Linux ADVX.Mandrakesoft.com 2.4.3-19mdk )) </p><p>1:调节服务器参数 </p><p>用shell>mysqld-help这个命令声厂一张所有mysql选项和可配置变量的表.输出以下信息: </p><p>possible variables for option--set-variable(-o) are: </p><p>back_log current value:5 //要求mysql能有的连接数量.back_log指出在mysql暂停接受连接的时间内有多少个连接请求可以被存在堆栈中 </p><p>connect_timeout current value:5 //mysql服务器在用bad handshake(不好翻译)应答前等待一个连接的时间 </p><p>delayed_insert_timeout current value:200 //一个insert delayed在终止前等待insert的时间 </p><p>delayed_insert_limit current value:50 //insert delayed处理器将检查是否有任何select语句未执行,如果有,继续前执行这些语句 </p><p>delayed_queue_size current value:1000 //为insert delayed分配多大的队 </p><p>flush_time current value:0 //如果被设置为非0,那么每个flush_time 时间,所有表都被关闭 </p><p>interactive_timeout current value:28800 //服务器在关上它之前在洋交互连接上等待的时间 </p><p>join_buffer_size current value:131072 //用与全部连接的缓冲区大小 </p><p>key_buffer_size current value:1048540 //用语索引块的缓冲区的大小,增加它可以更好的处理索引 </p><p>lower_case_table_names current value:0 // </p><p>long_query_time current value:10 //如果一个查询所用时间大于此时间,slow_queried计数将增加 </p><p>max_allowed_packet current value:1048576 //一个包的大小 </p><p>max_connections current value:300 //允许同时连接的数量 </p><p>max_connect_errors current value:10 //如果有多于该数量的中断连接,将阻止进一步的连接,可以用flush hosts来解决 </p><p>max_delayed_threads current value:15 //可以启动的处理insert delayed的数量 </p><p>max_heap_table_size current value:16777216 // </p><p>max_join_size current value:4294967295 //允许读取的连接的数量 </p><p>max_sort_length current value:1024 //在排序blob或者text时使用的字节数量 </p><p>max_tmp_tables current value:32 //一个连接同时打开的临时表的数量 </p><p>max_write_lock_count current value:4294967295 //指定一个值(通常很小)来启动mysqld,使得在一定数量的write锁定之后出现read锁定 </p><p>net_buffer_length current value:16384 //通信缓冲区的大小--在查询时被重置为该大小 </p><p>query_buffer_size current value:0 //查询时缓冲区大小 </p><p>record_buffer current value:131072 //每个顺序扫描的连接为其扫描的每张表分配的缓冲区的大小 </p><p>sort_buffer current value:2097116 //每个进行排序的连接分配的缓冲区的大小 </p><p>table_cache current value:64 //为所有连接打开的表的数量 </p><p>thread_concurrency current value:10 // </p><p>tmp_table_size current value:1048576 //临时表的大小 </p><p>thread_stack current value:131072 //每个线程的大小 </p><p>wait_timeout current value:28800 //服务器在关闭它3之前的一个连接上等待的时间</p>
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-29 11:49 , Processed in 0.125953 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表