当前位置:Gxlcms > mysql > MySQL服务器的优化方法_MySQL

MySQL服务器的优化方法_MySQL

时间:2021-07-01 10:21:17 帮助过:12人阅读

bitsCN.com

1、调整系统因素及启动参数
  我们从系统级别的因素开始说起,因为有些方面的因素必须尽早决定才能取得较大性能改进。其他情况下,只需要快速看一下本章节即可。不过,在这个级别看看能做什么以取得更高性能更合适。

  使用默认的操作系统这很重要。想要最有效地使用多CPU机器,就使用Solaris(因为它的线程实现确实很好)或Linux(因为2.2的内核对SMP有良好的支持)。请注意,老版本的Linux内核默认会有2GB文件大小限制。如果使用这样的内核而文件又确实需要大于2GB,那么就必须对ext2文件系统打大文件支持(LFS)补丁。其他文件系统诸如 ReiserFS 和 XFS 则没有这个限制。

  在MySQL投入生产之前,我们建议你在欲使用的平台上先做一下测试。

  其他tips:

  如果有足够的RAM(随机存储器),则应该去掉所有的交换设备。有些操作系统在一些情景中尽管有剩余内存也会使用交换设备。

  使用MySQL选项 --skip-external-locking 来避免外部锁。从MySQL 4.0开始,这个选项默认是打开的。在这之前,只有编译支持

  MIT-pthreads 才能默认打开,因为在所有平台上的MIT-pthreads 不能全部都支持 flock()。这在Linux上也是默认打开的,因为Linux的文件锁还不安全。注意,--skip-external-locking 选项在服务器运行时并不会影响其功能性。只要记住在运行

  myisamchk 前要关闭服务器(或者锁定并且刷新相关数据表)。在一些操作系统上这个选项是强制的,因为外部锁在任何情况下都无法使用。不能使用 --skip-external-locking 选项的唯一情况是:在同一个数据上运行多个MySQL服务器(不是客户端),或者运行

  myisamchk 检查(不是修复)数据表前没有先告诉服务器要刷新并且锁定该表。使用 --skip-external-locking 选项后依旧可以使用 LOCK TABLES 和 UNLOCK TABLES 语句。
   2、调整服务器参数
  可以使用以下 mysqld 命令(在MySQL 4.1以前,忽略 --verbose)来确定默认的缓冲大小:


  shell> mysqld --verbose --help


  这个命令产生了所有的 mysqld 选项以及可以配置的系统变量列表。结果中包括默认值,看起来像是如下:


  back_log current value: 5
  bdb_cache_size current value: 1048540
  binlog_cache_size current value: 32768
  connect_timeout current value: 5
  delayed_insert_limit current value: 100
  delayed_insert_timeout current value: 300
  delayed_queue_size current value: 1000
  flush_time current value: 0
  interactive_timeout current value: 28800
  join_buffer_size current value: 131072
  key_buffer_size current value: 1048540
  long_query_time current value: 10
  lower_case_table_names current value: 0
  max_allowed_packet current value: 1048576
  max_binlog_cache_size current value: 4294967295
  max_connect_errors current value: 10
  max_connections current value: 100
  max_delayed_threads current value: 20
  max_heap_table_size current value: 16777216
  max_join_size current value: 4294967295
  max_sort_length current value: 1024
  max_tmp_tables current value: 32
  max_write_lock_count current value: 4294967295
  myisam_sort_buffer_size current value: 8388608
  net_buffer_length current value: 16384
  net_read_timeout current value: 30
  net_retry_count current value: 10
  net_write_timeout current value: 60
  read_buffer_size current value: 131072
  read_rnd_buffer_size current value: 262144
  slow_launch_time current value: 2
  sort_buffer current value: 2097116
  table_cache current value: 64
  thread_concurrency current value: 10
  thread_stack current value: 131072
  tmp_table_size current value: 1048576
  wait_timeout current value: 28800

bitsCN.com

人气教程排行