关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »优化MySQL数据库性能的实际操作方案

    优化MySQL数据库性能的实际操作方案

    2010-06-02 13:58:00 出处:ITJS
    分享

    以下的文章主要是对优化MySQL数据库性能的实际操作方案的介绍,我们大家都知道MySQL数据库的速度是快还是慢主要是由配置优化决定的,如果是我们自己用,比如几个人的时候,人数较少就算优化了也看不出什么效果来。

    如果人数非常多的时候就会看出来了,下面介绍十个比较重要的参数配置,max_connections,record_buffer,back_log,interactive_timeout,sort_buffer,table_cache,thread_cache_size,wait_timeout这几个参数配置好了会得到很大的优化MySQL数据库性能啊,第二页有一个推荐配置。

    一、max_connections:

    允许的同时客户的数量。增加该值增加 MySQLd 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。

    二、record_buffer:

    每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)

    三、key_buffer_size:

    索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8m),我的MySQL主机有2gb内存,所以我把它改为 402649088(400mb)。

    四、back_log:

    要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。

    back_log 值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的tcp/ip连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。

    当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。

    五、interactive_timeout:

    服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 MySQL_real_connect()使用 client_interactive 选项的客户。 默认数值是28800,我把它改为7200。

    六、sort_buffer:

    每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速order by或group by操作。默认数值是2097144(2m),我把它改为 16777208 (16m)。

    七、table_cache:

    为所有线程打开表的数量。增加该值能增加MySQLd要求的文件描述符的数量。MySQL对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。

    八、thread_cache_size:

    可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 connections 和 threads_created 状态的变量,看到的是这个变量的作用。我把它设置为 80。

    九、MySQL的搜索功能

    用MySQL进行搜索,目的是能不分大小写,又能用中文进行搜索只需起动MySQLd时指定 --default-character-set=gb2312

    十、wait_timeout:

    服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。

    注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 MySQL 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。

    据说这是高手优化MySQL数据库性能,供大家参考,其中连接数: max_connections=1500可以根据服务器的性能更改.

    #set-variable = connect_timeout=5

    #set-variable = wait_timeout=5

    建议启用,负担重的服务器可以适当减少持续连接时间

    [MySQLd]  basedir=D:/MySQL  #bind-address=ip datadir=D:/MySQL/data  #language=D:/MySQL/share/your language directory  #slow query log#=  #tmpdir#=  #port=3306 set-variable = max_connections=1500  skip-locking  #skip-networking  set-variable = key_buffer=384M  set-variable = max_allowed_packet=1M  set-variable = table_cache=512  set-variable = sort_buffer=2M  set-variable = record_buffer=2M  set-variable = thread_cache=8  # Try number of CPU's*2 for thread_concurrency  set-variable = thread_concurrency=8  set-variable = myisam_sort_buffer_size=64M  #set-variable = connect_timeout=5  #set-variable = wait_timeout=5  server-id = 1 [isamchk]  set-variable = key_buffer=128M  set-variable = sort_buffer=128M  set-variable = read_buffer=2M  set-variable = write_buffer=2M  [myisamchk]  set-variable = key_buffer=128M  set-variable = sort_buffer=128M  set-variable = read_buffer=2M  set-variable = write_buffer=2M  [WinMySQLadmin]  Server=D:/MySQL/bin/MySQLd-nt.exe  

    上面说了这么多内容,是关于对优化MySQL数据库性能的介绍,不知道各位对MySQL的认识是不是更上一层楼了,时时关注ITJS,学习最新Mysql技术。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    Spring基础知识汇总 Java开发必看

    SQL Server索引与其性能的描述

    SQL Server 2008数据格式修改时应注意什么?

    如何禁止windows 7网络搜索驱动?windows 7禁止网络搜索驱动的方

    SQL Server系统表中的sysconfigures表

    如何恢复windows 7、windows 8图片预览功能详细图解

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。