mysql 之my.cnf配置调优

对pre_thread_buffers优化(可以理解为每个连接到mysql的用户进程分配的内存):

  • read_buffer_size

    该参数表示表的顺序扫描,表示每个线程分配的缓冲区的大小。如在全表扫描时,会按照数据的存储顺序依次读取数据块,每次读取的数据库首先暂存在read_buffer_size中,当buffer空间被写满或者读取结束后,再将buffer中的数据返回给上层调用者,以提高效率。默认128kb,不用设置太大,一般在128~256即可。

  • read_rnd_buffer_size

    该参数表示表的随机读取,表示每个线程分配的缓冲大小,如按照一个非索引字段做order by 排序操作时,就会利用这个缓冲区来暂存取的数据,默认是256kb,也不用设置太多,在128~256即可。

  • sort_buffer_size

    在表进行order by 和group by排序操作时,由于排序的字段没有索引,会出现using filesort,为了提高性能,可用这个参数增加每个线程分配的缓冲区大小。默认是2M,也不用太大,一般在128~256即可,如出现using filesort,可以用索引来解决问题。

  • thread_stack

    该参数表示每个线程的堆栈大小,默认是192kb,如果是64位系统,设置256即可,不用设置过大。

  • join_buffer_size

    表进行join连接操作时,如果关联的字段没有索引,会出现using jion buffer,为了提高性能,可用次参数增加每个线程分配的换成区大小。默认是128kb,一般在128~256即可。一般出现using join buffer的时候,要通过增加索引来解决。

  • binlog_cache_size

    如果数据库没有什么大事物,写入不是特别频繁,这种1~2M是一个合适的选择,如果事物很大,可以适当增加这个值。

  • max_connections

    设置最大连接数,默认是100,一般设置512~1000即可。

pre_thread_buffers内存的计算公式:(read_buffer_size+read_rnd_buffer_size+sort_buffer_size+thread_stack+join_buffer_size+binlog_cache_size)*max_connections

时间: 2024-10-10 05:56:20

mysql 之my.cnf配置调优的相关文章

MySQL 5.6初始配置调优

原文链接: What to tune in MySQL 5.6 after installation原文日期: 2013年09月17日翻译日期: 2014年06月01日翻译人员: 铁锚 随着 大量默认选项的改进, MySQL 5.6比以前版本需要调优的选项大为减少. 在本文中我将讲述需要优化的配置项. InnoDB设置 innodb_buffer_pool_size  -- 默认值为 128M. 这是最主要的优化选项,因为它指定 InnoDB 使用多少内存来加载数据和索引(data+indexe

Elasticsearch 基础理论 & 配置调优

一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎. 它不但包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索. 实时分析的分布式搜索引擎. 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据. 使用案例: 维基百科使用Ela

Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时,发现启动不了,从日志中找到报java.lang.OutOfMemoryError: PermGen space. 原因分析PermGen space,全称是Permanent Generation space,指的是内存3带中的永久区域.当java中间件启动时,会将相关的jar包和.class加载

Nginx缓存的配置调优,Tengine安装和配置。

反向代理缓存: nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文. 可以在http全局配置内定义缓存. http{ proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=cone:10m max_size=1g; } 在Server里调用. server { listen       80; server_name  localhost; location / { p

7.4mapreduce配置调优

1.1.1         配置调优 通过调节配置参数,达到较优的性能.Map配置参数 属性 类型 默认值 作用 mapreduce.Task.io.sort.mb Int 100 Map输出结果的缓冲区大小兆为单位 mapreduce.map.sort.spill.percent Float 80 缓冲区占用比例达到这个阈值时,就会生成溢出文件,将map输出结果写入磁盘溢出文件 mapreduce.task.io.sort.factor Int 10 将溢出文件按照这个数量进行合并成一个文件

Web 中间件 php-fpm 配置调优

一.php-fpm.conf 主要配置参数 pm = dynamic; 表示使用哪种进程数量管理方式 dynamic 表示 php-fpm 进程数是动态的,最开始是 pm.start_servers 指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如 果进程数较多,也会进行相应清理,保证多余的进程数不多于 pm.max_spare_servers: static 表示 php-fpm 进程数是静态的,进程数自始至终都是 pm.max_chi

Mysql千万级数据性能调优配置

背景: 笔者的源数据一张表大概7000多万条,数据大小36G,索引6G,加起来表空间有40G+,类似的表有4张,总计2亿多条 数据库mysql,引擎为innodb,版本5.7,服务器内存256G,物理内存几个T,硬件参数杠杠的,然而处理这些数据踩了不少坑,因 为之前没做过这方面的工作,现在记录下清洗的过程,详细的业务清洗过程和规则均记录在https://gitee.com/yanb618/zhirong/wikis 感受: 清洗从表名,字段名,字段类型,字段值,索引创建与删除做起,每每看到那秒数

Mysql配置文件my.cnf配置及配置参数详解

Mysql配置文件my.cnf 安装了mysql没有my.cnf文件的情况 1.可以把mysql的示例配置文件,如my-medium.cnf拷贝到/etc/my.cnf,再去修改/etc/my.cnf的配置/usr/share/doc/MySQL-server-5.5.38/my-medium.cnf(Example MySQL config file for medium systems with little memory (32M - 64M) ) 可以通过命令:find / -name 

tomcat配置调优与安全总结

作为运维,避免不了与tomcat打交道,然而作者发现网络上关于tomcat配置和调优安全的文章非常散,通过参考各位大神的相关技术文档,根据作者对tomcat的运维经验,总结了一些tomcat的基础运维注意事项,希望对广大技术兄弟们有些帮助. 1      功能优化 1.1     硬件资源对tomcat的影响 系统硬件性能直接影响tomcat的并发量,起决定作用的是CPU和MEM,CPU运行速度提升,会带来tomcat响应时间的缩短,mem大小决定工程需要内存的大小和工程的并发数量. 1.2