linux mysql 性能_Linux下的MySQL性能调优-让你的MySQL运行的更快

Linux下的MySQL性能调优-让你的MySQL运行的更快

052010.09

作者:zxing   发布:2010-09-05 01:27   字符数:414   分类:Linux, 数据库   阅读: 604 次   1条评论

数据库在WEB系统中充当了极其重要的角色,它的性能直接关系到整个服务器的性能,此文并非完全我自己的创作但也包含了我自己的一些体会,在这里权作记录下来留给自己以后继续研究也分享给更多的朋友。

MySQL配置文件为/etc/mysql/my.cnf 而其中“[mysqld]”配置影响着你的数据库性能,其他段落并不是很重要,所以这里仅列出了“[mysqld]”配置段的信息。

INI

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

user=mysql

socket=/var/run/mysqld/mysqld.sock

port=3306

basedir=/usr

datadir=/var/lib/mysql

tmpdir=/tmp

#默认存储引擎

default_table_type=InnoDB

#避免MySQL的外部锁定

skip-external-locking

#禁止DNS解析这个选项将不允许使用localhost进行用户验证而需要使用127.0.0.1

skip-name-resolve

#修复选项

myisam-recover=BACKUP

#日志选项

expire_logs_days=10

max_binlog_size=100M

#错误日志

log_error=/var/log/mysql/error.log

#查询排序缓冲区独占

sort_buffer_size=6M

#读查询操作缓冲区独占

read_buffer_size=4M

#联合查询操作缓冲区独占

join_buffer_size=8M

#总体缓存

thread_stack=256K

table_cache=128k

myisam_sort_buffer_size=64M

thread_cache_size=64

query_cache_limit=32M

query_cache_size=64M

#最长连接时间

wait_timeout=30

#操作线程

thread_concurrency=8

#MyISAM索引缓冲区

key_buffer_size=256M

#Innodb

#Innodb最重要的参数缓存innodb表的索引,数据,插入数据时的缓冲

innodb_buffer_pool_size=1024M

#用来存放Innodb的内部目录如果表比较多可以适当调大

innodb_additional_mem_pool_size=4M

innodb_data_file_path=ibdata_1:384M;ibdata_2:384M;ibdata_3:384M:autoextend

#文件读写IO,这个参数只在Windows上起作用,在LINUX上只会等于4

innodb_file_io_threads=4

innodb_thread_concurrency=16

#事务的提交方式默认为1,0或2可以提高性能

#0:每秒一次写入日志文件,并刷新到到磁盘,事务提交时不进行操作。崩溃时丢失最后一秒的事务。

#1:每次提交都写入日志文件,并刷新到磁盘。不丢任何一个事务。

#2:提交后写入文件,但不刷新到磁盘,日志刷新值为2时每秒一次刷新到磁盘。崩溃时会丢失事务。

innodb_flush_log_at_trx_commit=2

#日志的大小

innodb_log_file_size=32M

#事务缓冲无需太大MySQL会每秒将内存中的信息写入磁盘中

innodb_log_buffer_size=8M

#指定日志组个数

innodb_log_files_in_group=3

#禁止系统缓存直接写入磁盘windows下无需设置

innodb_flush_method=O_DIRECT

#控制Innodb的脏页在缓冲中的最高百分比

innodb_max_dirty_pages_pct=90

#锁定时间长度

innodb_lock_wait_timeout=30

提醒DBA们MySQL并非一个文件即可优化的,我给出的配置仅仅适合我自己的服务器:4G内存/单志强CPU!另外其他软件也会影响服务器总体性能,所以需要你不断查看服务器的各种状态变量,根据实际情况不断调整出最适合你服务器的配置。

最后,还需要提醒程序员,MySQL性能调优仅可提供一个快速的平台,最终程序性能还需要在查询语句,表结构上下功夫的,往往一个极耗资源的查询断送掉前面所有的性能调整......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值