Openfire服务器MySQL优化

Openfire服务器MySQL优化:

[[email protected] ~]# 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是不生效的。

[[email protected] ~]# 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

时间: 2024-10-07 02:47:49

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

mysql优化

索引的存储分类 MyISAM存储引擎的表的数据和索引时自动分开储存的.各自是一个独立的文件Inodb 存储引擎的表的结构和索引都是存储在一个表的空间里.但可以有多个文件组成 mysql目前不支持函数索引 mysql如何使用索引索引用于快速找出在某个列中有一特定值的行.对相关列使用索引时提供select操作性能的最佳途径 索引使用 使用like的查询   索引模糊尽量把 % 放到后面. select *from t2 where name like “%aa”(用不到索引) select *fro

Mysql优化(转)

Mysql优化主要通过执行计划,索引,sql语句,调整mysql内部配置 (http://blog.chinaunix.net/uid-11640640-id-3426908.html) 一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connections 2)      back_log 3)      interactive_timeout 4)  

MySQL优化—工欲善其事,必先利其器之EXPLAIN

转自:http://www.cnblogs.com/magialmoon/archive/2013/11/23/3439042.html mysql官方手册关于explain命名的说明文档:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html#explain_select_type 最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器.最近我就打算了解下几个优化MySQL中经常用到的工具.今天就简单介绍下

MySQL优化概述

MySQL优化概述 设计: 存储引擎,字段类型,范式 功能: 索引,缓存,分区. 架构: 主从复制,读写分离,负载均衡. 合理SQL: 测试,经验. 存储引擎 Create table tableName () engine=myisam|innodb; 一种用来存储MySQL中对象(记录和索引)的一种特定的结构(文件结构) 存储引擎,处于MySQL服务器的最底层,直接存储数据.导致上层的操作,依赖于存储引擎的选择. Tip:存储引擎就是特定的数据存储格式(方案) Show engines 查看

小菜鸟mysql优化解决方案

根据小菜鸟的个人习惯,自己的编写的一套MYSQL优化方案,感觉还是有点儿菜,望大家谅解,不足之处,请大神们互动! #mysql优化解决方案 #公共参数默认值: max_connections = 151 #同事处理多大连接数,推荐设置最大连接数是上限连接数的80%左右 sort_buffer_size = 2M #查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16M open_files_limit = 1024 #打开文件数限制,如果show global s

MySQL阶段七——MySQL优化

mysql优化 -一.硬件优化(优化的主要点) 01.CPU----最好是64位的,例:8-16颗CPU 02.内存----例:96G-128G,3-4个实例 03.disk----数量越多越好,性能:ssd(适合高并发业务)>sas(普通上线业务)>sata(适合线下) RAID----部署合适的RAID 04.网卡----多块网卡bond,以及buffer,tcp优化 -二.软件优化 01.操作系统----x86_64 02.软件:mysql,编译优化 -三.my.cnf里面参数优化 (一

MySQL优化要点

MySQL优化要点     硬件选型优化 CPU 主频高,支持多线程 1.2.  磁盘 SAS磁盘(RAID10)或SSD磁盘(RAID1) 1.3.    主板 修改主板配置参数,打开磁盘写缓存,关闭磁盘读缓存,以免影响数据插入速度;尽量使用独立RAID,不用主板集成RAID卡 1.4.      网卡 主机多网卡BOND绑定,保证网络无故障;配备千兆速率以上网卡设备. 1.5.    内存 配备多通道高频内存,容量至少16G以上,最好是数据库数据内存两倍. 部署以及配置参数优化 部署规范 统

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

此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计. 前言 MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视. MySQL历史 1979年,Monty Widenius写了最初的版本,

第24章 mysql 优化

2015-10-25 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版)[M].北京:电子工业出版社,2013 [3] MySQL 性能优化的最佳20多条经验分享 [4] mysql性能优化-慢查询分析.优化索引和配置 [5] MySQL优化必须调整的10项配置 [6] MySQL 配置优化 [7] Mysql数据库优化总结 [8] MySQL安装配置与性能优化 [9