mysql性能最大化

   [client]

  #passwd = your_passwd

  port = 3306

  socket = /data/mysql/mysql.sock

  [mysqld]

  #global settings

  port = 3306

  socket = /data/mysql/mysql.sock

  basedir=/usr/local/mysql

  tmpdir=/data/mysql

  datadir=/data/mysql

  pid-file=/data/mysql/rongzhong.pid

  #跳过外部锁定 只对MyISAM

  skip-external-locking

  #禁用tcp socket连接,只能使用unix/linux socket连接

  skip_networking

  #禁用DNS解析,提高连接速度

  skip_name_resolve

  #跳过授权表,忘记root密码时使用

  #skip-grant-tables

  #默认存储引擎

  #default-storage-engine=MyISAM/INNODB

  #默认字符集

  character_set_server=utf8

  #最大连接数

  max_connections=20480

  #最大单用户连接数

  max_user_connections=1024

  #服务器关闭一个交互连接前等待的秒数,默认28800

  interactive_timeout=7200

  #线程缓存数,直接利用空闲连接来创建新连接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64

  #短连接较多的情况下可以适当增加该值

  thread_cache_size=64

  #单个线程(连接)进行数据排序(eg: order/group by)时的buffer,连接创建时一次性分配,默认2M,当 Sort_merge_passes较大时可增加该值

  sort_buffer_size=2M

  #对没有索引的表进行join操作时的buffer,默认256K,连接创建时一次性分配

  join_buffer_size=262144

  #指定连接侦听队列的大小,该值超过OS的tcp_max_syn_backlog/somaxconn时无效,推荐设置为小于512的整数

  back_log=512

  #table_open_cache中岁多能打开的表数

  table_open_cache = 256

  #一次消息传输量的最大值,是net_buffer_length的最大值

  max_allowed_packet=8M

  #bin-log

  #打开二进制日志

  log-bin=mysql-bin

  log-bin-index=mysql-bin.index

  #日志格式,可选row/statement/mixed,默认statement,推荐mixed

  binlog_format=mixed

  #一个binlog的最大值

  max_binlog_size=1G

  #对单个连接的binlog缓存大小,默认1M

  binlog_cache_size=2M

  #binlog cache的总大小

  max_binlog_cache_size=2G

  #sync_binlog may be 0 or 1

  #binlog是否进行磁盘同步,为0时交给OS,为1:事物结束立即同步,IO损耗大

  sync_binlog=0

  #slow-log

  #开启slow log

  slow-query-log=1

  #指定慢查询的时长

  long-query-time=2

  #路径

  slow-query-log-file=/data/mysql/slowlog/slow.log

  #未使用索引的查询也记录到slow log中

  log_queries_not_using_indexes=1

  #query cache

  #启用query cache

  query_cache_type=1

  #存放单条query cache的最大值,默认1M

  query_cache_limit=1M

  #存放单条query cache的最小值,默认4K

  query_cache_min_res_unit=4096

  #query的最大值

  query_cache_size=256M

  #MyISAM

  #索引缓存大小,公式:Key_Size = key_number * (key_length+4)/0.67

  key_buffer_size=128M

  #单个线程进行顺序读取时的缓存,默认128K

  read_buffer_size=2M

  #单个线程进行随机读取时的缓存,默认256K

  read_rnd_buffer_size = 4M

  #重建索引时允许的最大缓存大小,默认8M

  myisam_sort_buffer_size = 64M

  #指定索引缓存中block大小,默认1K

  key_cache_block_size=1024

  #禁止索引的单条刷新

  delay_key_write=1

  #innodb

  #启用独立的表空间

  #innodb_file_per_table=1

  #设置innodb内存缓冲区大小,在纯mysql环境下,推荐设置为服务器内存的60~80%

  innodb_buffer_pool_size =8G

  #设置OS能进入innodb内核的线程数,推荐2*(CPU核心数+磁盘数)

  innodb_thread_concurrency=16

  #设置innodb的io行为,可选值fsync/O_DSYNC/O_DIRECT 推荐O_DIRECT提高随机写效率

  innodb_flush_method=O_DIRECT

  #设置mysql主进程每秒钟向磁盘刷入的脏页数,默认值200

  #For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100

  innodb_io_capacity=100

  #设置写脏页的线程数

  innodb_write_io_threads = 8

  #设置从磁盘读文件块的线程数

  innodb_read_io_threads = 8

  #设置事物日志缓冲区大小

  #设置事物日志缓冲区大小

  innodb_log_buffer_size=8M

  #log thread向磁盘同步日志的方式,可选值为0/1/2

  #0: 每秒钟刷新 1:每次事物提交后都刷新 2:交给OS来同步

  innodb_flush_log_at_trx_commit =0

  #数据库字典信息和表结构空间

  innodb_additional_mem_pool_size =16M

  #启用Double write Buffer区域,保证数据完整性,但消耗IO

  innodb_doublewrite=1

  [mysqldump]

  # Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables

  quick

  max_allowed_packet = 16M

  [mysql]

  no-auto-rehash

  [myisamchk]

  key_buffer_size = 512M

  sort_buffer_size = 512M

  read_buffer = 8M

  write_buffer = 8M

  [mysqlhotcopy]

  interactive-timeout

  [mysqld_safe]

  # Increase the amount of open files allowed per process. Warning: Make

  # sure you have set the global system limit high enough! The high value

  # is required for a large number of opened tables

  open-files-limit = 8192

时间: 2025-01-02 19:11:25

mysql性能最大化的相关文章

MySQL性能、监控与灾难恢复

原文:MySQL性能.监控与灾难恢复 监控方案:     up.time    http://www.uptimesoftware.com/    收费     Cacti        http://www.cacti.net/     KDE System Guard(KSysGuard)                      http://docs.kde.org/stable/en/kdebase-workspace/ksysguard/index.html     Gnome Sy

五个影响mysql性能的关键配置

以下的文章主要是对MySQL性能影响关系紧密的五大配置参数的介绍,我前几天在相关网站看见对MySQL性能影响关系紧密的五大配置参数的资料,觉得挺好,就拿出来供大家分享,望你能有所收获. (一)连接 连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们. 1.max_connections 这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存,文章后面有涉及). 2.max_packet_allowed 最大数据包大小,通常等于你需要在一个大块中返回

MySQL性能分析系统

对于MySQL慢查询日志的分析,现已由多种工具来提供:最原始的mysqldumpslow,功能比较齐全的 mysqlsla和percona的 pt-query-digest:以上工具大大提高了DBA来分析数据库的性能效率,减少了过多的猜测过程: 如果能实现定时分析SQL并且进行可视化展示呢? 适用过Query-Digest-UI-master 这个UI插件,在配合 percona的 pt-query-digest工具,只是简单做到一个可视化的结果:如果对于多个服务器的分析,这个表现的就很吃力:

MySQL性能调整之my.cnf文件的配置方法

MySQL性能调整之my.cnf文件的配置方法: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-locking set-variable = key_buffer=16M set-variable = max_allowed_packet=1M set-variable = thread_stack=64K set-variable = record_buffer=1M set-variable = t

MySQL 性能优化:性能提升 50%,延迟降低 60%

当我进入 Pinterest 时,我的头三个星期是在本部度过的,在那里最新工程把解决生产问题的成果应用到了整个软件栈中.在本部,我们通过构建 Pinterest 来学习 Pinterest 是怎样被构建的,并且,仅仅在几天里就提交代码.做出有意义的贡献也不是不常见.在 Pinterest ,新进来的工程师可以灵活地选择参加哪个组,而且作为在本部工作经历的一部分,编写不同部分的代码可以有助于做出这个选择.本部的人通常会做不同的项目,而我的项目则是深入研究 MySQL 的性能优化. Pinteres

MySQL性能分析和优化-part 1

MySQL性能优化 平时我们在使用MySQL的时候,怎么评估系统的运行状态,怎么快速定位系统瓶颈,又如何快速解决问题呢? 本文总结了多年来MySQL优化的经验,系统介绍MySQL优化的方法. OS性能分析 使用top观察top cpu/memory进程 ~ top top - 09:34:29 up 10 days, 20:11, 1 user, load average: 0.61, 0.59, 0.60 Tasks: 208 total, 1 running, 207 sleeping, 0

简单的mysql 性能和健康程度巡检

简单的mysql 性能和健康程度巡检

mysql性能问题...............................

问题描述 mysql性能问题............................... 一个mysql数据表差不多200个字段,这会数据的存储和读取有影响么?如果对性能有比较大的影响,应该怎么改进? 解决方案 虽然不会帮忙顶一下吧 解决方案二: zh这字段也太多了,浪费和多空间. 请参照第一.二.三范式.这是数据库的基础 解决方案三: 推荐你看一下一个对并发数据库优化很有研究的人写的文章http://www.360doc.com/content/12/0116/12/8674_1796896

MySQL性能优化总结

一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图:   三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件.首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI文件,分别存放了表的数据(.MYD)和索引数据(.MYI).每个表都有且仅有这样三个文件做为MyISAM存储类型的表的存储,也就是说不管这个