Openfire服务器MySQL优化:

[root@iZ28g4ctd7tZ ~]# mysql -u root -p XXXXX

mysql> show processlist;

+----------+-----------------+---------------------+-------+---------+-------+-----------------------------+------------------+

| Id       | User            | Host                | db    | Command | Time  | State                       | Info             |

+----------+-----------------+---------------------+-------+---------+-------+-----------------------------+------------------+

|        1 | event_scheduler | localhost           | NULL  | Daemon  | 51497 | Waiting for next activation | NULL             |

| 16069885 | xx_xxx_user     | 10.164.13.209:48184 | XXXXX | Sleep   |     0 |                             | NULL             |

| 16069886 | xx_xxx_user     | 10.164.13.209:48185 | XXXXX | Sleep   |     0 |                             | NULL             |

| 16069887 | xx_xxx_user     | 10.164.13.209:48186 | XXXXX | Sleep   |     0 |                             | NULL             |

| 16069888 | xx_xxx_user     | 10.164.13.209:48187 | XXXXX | Sleep   |     0 |                             | NULL             |

| 16069889 | xx_xxx_user     | 10.164.13.209:48188 | XXXXX | Sleep   |     0 |                             | NULL             |

......

| 16071110 | xx_xxx_user     | 10.164.13.209:48520 | XXXXX | Sleep   |     3 |                             | NULL             |

| 16358232 | root            | localhost           | XXXXX | Query   |     0 | NULL                        | show processlist |

+----------+-----------------+---------------------+-------+---------+-------+-----------------------------+------------------+

118 rows in set (0.00 sec)

mysql> show variables like '%timeout';

+----------------------------+----------+

| Variable_name              | Value    |

+----------------------------+----------+

| connect_timeout            | 10       |

| delayed_insert_timeout     | 300      |

| innodb_lock_wait_timeout   | 50       |

| innodb_rollback_on_timeout | OFF      |

| interactive_timeout        | 100      |

| lock_wait_timeout          | 31536000 |

| net_read_timeout           | 30       |

| net_write_timeout          | 60       |

| slave_net_timeout          | 3600     |

| wait_timeout               | 100      |

+----------------------------+----------+

10 rows in set (0.00 sec)

mysql> show global variables like '%timeout';

+----------------------------+----------+

| Variable_name              | Value    |

+----------------------------+----------+

| connect_timeout            | 10       |

| delayed_insert_timeout     | 300      |

| innodb_lock_wait_timeout   | 50       |

| innodb_rollback_on_timeout | OFF      |

| interactive_timeout        | 100      |

| lock_wait_timeout          | 31536000 |

| net_read_timeout           | 30       |

| net_write_timeout          | 60       |

| slave_net_timeout          | 3600     |

| wait_timeout               | 100      |

+----------------------------+----------+

10 rows in set (0.00 sec)

mysql> set global interactive_timeout=100;

mysql> set global wait_timeout=100;

如果修改interactive_timeout的话wait_timeout也会跟着变,而只修改wait_timeout是不生效的。

[root@iZ28g4ctd7tZ ~]# vim /etc/my.cnf

[client]

port            = 3306

socket          = /data/mysql/mysql.sock

[mysqld_safe]

socket          = /data/mysql/mysql.sock

nice            = 0

[mysqld]

#datadir=/data/mysql/data/mysql

socket=/data/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0

# 默认端口

port            = 3306

datadir         = /data/mysql/data/mysql

tmpdir          = /tmp

lc-messages-dir = /usr/share/mysql

# 避免MySQL的外部锁定,减少出错几率增强稳定性

skip-external-locking

# 设置mysql服务器的字符集

character-set-server = utf8

# 默认存储引擎

default-storage-engine = INNODB

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

# bind-address            = 0.0.0.0

skip-name-resolve

# UDF自定义函数若有用到需要打开。后续memcached会用到UDF

log_bin_trust_function_creators = 1

# 用到了事件,应该打开

event_scheduler = 1

# Error log - should be very few entries.

# log_error = /data/mysql/log/error.log

key_buffer              = 16M

# MYISAM存储引擎的索引缓冲区的大小

key_buffer_size = 16M

# 联合查询操作所能使用的缓冲区大小

join_buffer_size = 4M

# 用来控制其通信缓冲区的最大长度

max_allowed_packet      = 16M

# 指定MySQL允许的最大连接进程数。如果经常出现Too Many Connections的错误提 示,则需要增大该参数值。默认值是151,这里设为500。根据实际情况再行调整

max_connections = 500

# 最大连接错误数

max_connect_errors = 10000

# 缓存可重用的线程数

table_open_cache = 4096

# 查询排序时所能使用的缓冲区大小

sort_buffer_size = 4M

# 每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区,若做很多顺序扫描,增加该值。

read_buffer_size = 4M

# 随机读缓存区,mysql排序查询时,先扫描该缓冲避免磁盘搜索

read_rnd_buffer_size = 8M

# 开启查询缓存

query_cache_type = 1

# 指定MySQL查询缓冲区的大小

query_cache_size = 256M

# 单个查询能用缓冲区大小

query_cache_limit = 2M

# 指定分配缓冲区空间的最小单位,缺省为4K

query_cache_min_res_unit = 4K

# 内存表大小,该值用来计算内存表的最大行数

max_heap_table_size = 32M

# 指定mysql缓存的内存大小,默认16M

tmp_table_size = 32M

# 临时停止响应新请求前在短时间内可以堆起多少请求,也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,

# 该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。back_log值不能超过TCP/IP连接的侦听队列的大小。若超过则无效,

# 查看当前系统的TCP/IP连接的侦听队列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog目前系统为1024。对于Linux系统推荐设置为小于512的整数。

# 每个连接256kb,占用:125M

back_log = 500

# 指定一个请求的最大连接时间,超时时间,可以避免攻击。对于4GB左右内存的服务器可以设置为5-10

wait_timeout = 604800

# 服务器在关闭它前在一个交互连接上等待行动的秒数

interactive_timeout = 604800

# 该参数取值为服务器逻辑CPU数量×2,默认8

# 该参数在5.6.1版本后被放弃了

thread_concurrency = 16

thread_stack            = 512K

thread_cache_size       = 64

myisam-recover         = BACKUP

# 记录慢查询语句,路径根据实际

log_slow_queries        = /data/mysql/log/mysql-slow.log

# 设定慢查询的时间

long_query_time = 2

# 记录未用索引的慢查询

log-queries-not-using-indexes

# 开启二进制日志earcs-bin为日志文件前缀 basename

log_bin                 = /data/mysql/log/earcs-bin.log

# 设置日志的有效期为10天.

expire_logs_days        = 2

max_binlog_size         = 100M

# 打开文件数

open_files_limit = 10240

# 控制日志刷新到硬盘的时机

innodb_flush_log_at_trx_commit = 0

# on表示启用单表空间,减少共享表空间维护成本,减少空闲磁盘空间释放的压力

innodb_file_per_table = 1

# 设置事务隔离级别

transaction-isolation = READ-COMMITTED

# 二进制日志格式

binlog-format = MIXED

# 官方建议在一个32位的系统中,要设置小于2G。

innodb_buffer_pool_size = 10G

# 控制日志刷新到硬盘的时机

innodb_flush_log_at_trx_commit = 0

# 需要根据写负载的频度以及大事务的多少,动态调整。

innodb_log_buffer_size = 8M

# 在日志组中每个日志文件的大小

innodb_log_file_size = 512M

# 这个参数在5.6.3版本以后会被弃用。

innodb_additional_mem_pool_size = 100M

# 提高mysql速度的,禁止DNS缓存

skip-host-cache

[mysqld_safe]

log-error=/data/mysql/log/mysqld.log

pid-file=/data/mysqld/mysqld.pid

Openfire服务器MySQL优化的更多相关文章

  1. MySQL优化聊两句

    原文地址:http://www.cnblogs.com/verrion/p/mysql_optimised.html MySQL优化聊两句 MySQL不多介绍,今天聊两句该如何优化以及从哪些方面入手, ...

  2. MySQL优化概述

    一. MySQL优化要点 MySQL优化是一门复杂的综合性技术,主要包括: 1 表的设计合理化(符合 3NF,必要时允许数据冗余) 2.1 SQL语句优化(以查询为主) 2.2 适当添加索引(主键索引 ...

  3. Mysql优化系列(2)--通用化操作梳理

    前面有两篇文章详细介绍了mysql优化举措:Mysql优化系列(0)--总结性梳理Mysql优化系列(1)--Innodb引擎下mysql自身配置优化 下面分类罗列下Mysql性能优化的一些技巧,熟练 ...

  4. [转] MySql 优化 大数据优化

    一.我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(API) 应用程序 ------------------------------------------ ...

  5. 单表60亿记录等大数据场景的MySQL优化和运维之道

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  6. 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  7. (转)MySQL优化实例

    在Apache, PHP,MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同时 ...

  8. 微博MySQL优化之路--dockone微信群分享

    微博MySQL优化之路 数据库是所有架构中不可缺少的一环,一旦数据库出现性能问题,那对整个系统都回来带灾难性的后果.并且数据库一旦出现问题,由于数据库天生有状态(分主从)带数据(一般还不小),所以出问 ...

  9. mysql优化连接数防止访问量过高的方法

    这篇文章主要介绍了mysql优化连接数防止访问量过高的方法,需要的朋友可以参考下 很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,造成 ...

随机推荐

  1. Android中FragmentPagerAdapter对Fragment的缓存(一)

    ViewPager + FragmentPagerAdapter,时我们经常使用的一对搭档,其实际应用的代码也非常简单,但是也有一些容易被忽略的地方,这次我们就来讨论下FragmentPagerAda ...

  2. Oracle 课程一之Oracle体系结构

    课程目标 •理解ORACLE数据库体系架构—内存结构和进程 •理解SQL在数据库中的运作流程 •理解UNDO&REDO原理 •理解commit原理   1.Oracle数据库概述 •数据库:物 ...

  3. Java 7爆最新漏洞,10年前的攻击手法仍有效

    英文原文:New Reflection API affected by a known 10+ years old attack 据 SECLISTS 透露,他们发现新的 Reflection API ...

  4. C# 一次查询多表,填充DataSet并指定表名

    lhrhi 原文 NET 一次查询多表,填充DataSet并指定表名(DataSet指定DataTable名称的技巧) 现实中的场景,有时可能需要一次查询数据库中表张.在使用SqlDataAdapte ...

  5. zoj3822-Domination (概率dp)

    题意: 给你n*m的棋盘,每天选择的一个空的方格放一个棋子,求使棋盘的每行每列都至少有一个棋子的天数期望. 分析: 先想状态,要使每行每列都至少一个,考虑前i行j列,能放得就是i行j列里面的或第i+1 ...

  6. HDU 4609 3-idiots FFT+容斥

    一点吐槽:我看网上很多分析,都是在分析这个题的时候,讲了半天的FFT,其实我感觉更多的把FFT当工具用就好了 分析:这个题如果数据小,统计两个相加为 x 的个数这一步骤(这个步骤其实就是求卷积啊),完 ...

  7. 【windows核心编程】DLL相关(2)

    关于DLL的延迟加载 延迟加载DLL,使用的是隐式加载方式,当为exe使用的DLL指定为延迟加载的时候,连接器会将exe的[导入段]中去除该DLL的相关信息,同时在exe中嵌入一个新的[延迟加载段]表 ...

  8. Centos yum源更新为阿里云

    阿里云镜像网址 http://mirrors.aliyun.com/   更新步骤 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d ...

  9. MDI端口和MDIX端口是什么? 又有什么作用?

    是网线的标准A类接法和B类接法.也就是人们通常所说的交叉网线和直联网线.直联网线就是 白黄 黄 白绿 蓝 白兰 绿 白棕 棕 另一端同样如此.交叉网线就是 另一端的1和3,2和6对调.这样就成了交叉网 ...

  10. asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    @Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...