位置: 编程技术 - 正文

数据库Mysql性能优化详解(mysql性能比较)

编辑:rootadmin

推荐整理分享数据库Mysql性能优化详解(mysql性能比较),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql性能参数,mysql性能极限,mysql数据库性能调优,mysql数据库性能优化详解,mysql数据库性能指标,mysql数据库性能调优,mysql性能如何,mysql数据库性能什么水平,内容如对您有帮助,希望把文章链接给更多的朋友!

在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数(注意该参数对其他类型的表设置无效),下面就将对mysql Key_buffer_size参数的设置进行详细介绍下面为一台以MyISAM为主要存储引擎服务器的配置:

分配了MB内存给mysql key_buffer_size,我们再看一下key_buffer_size的使用情况:

一共有个索引读取请求,有个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率:

比如上面的数据,key_cache_miss_rate为0.%,个索引读取请求才有一个直接读硬盘,已经很BT了,key_cache_miss_rate在0.1%以下都很好(每个请求有一个直接读硬盘),所以理论来上来说,这个比值越小越好,但过小的话,难免造成内存浪费。

以上两个值的比率固然能一部分的说明key_buffer_size是否合理,但仅仅以此就说明该值设置的合理的话,就过于偏激和片面了。因为这里忽略了两个问题:

1、比例并不显示数量的绝对值大小

2、计数器并没有考虑时间因素

虽说Key_read_requests大比小好,但是对于系统调优而言,更有意义的应该是单位时间内的Key_reads,即:

Key_reads / Uptime

具体查看方法如下:

注:命令里的mysqladmin ext其实就是mysqladmin extended-status,你甚至可以简写成mysqladmin e。

其中第一行表示的是汇总数值,所以这里不必考虑,下面的每行数值都表示秒内的数据变化,从这份数据可以看出每秒系统大约会出现次Key_reads访问,折合到每1秒就是次左右,至于这个数值到底合理与否,就由服务器的磁盘能力而定了。(注:我这里之所以数据变化较大,是因为有update等语句造成了表锁而导致下个时间段内的查询数猛增。)

数据库Mysql性能优化详解(mysql性能比较)

为啥数据按秒取样,而不是直接按1秒取样?由于时间段过小,数据变化比较剧烈,不容易直观估计大小,所以通常数据按照秒或者秒之类的时间段来取样是更好的。

除些之外,我们还可以参考下key_blocks_*参数:

Key_blocks_unused表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:

笔者注:

查看簇(文件系统块,block)的大小(字节数)

Centos中有以下几种方法:

#tune2fs /dev/sda1 | grep "block size"#dumpe2fs /dev/sda1 | grep "block size"

理论上文件系统块是扇区的倍数

mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。

1. 使用-r/-i参数

使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数-r(--relative),就可以看到各个指标的差值,配合参数-i(--sleep)就可以指定刷新的频率,那么就有如下命令:

2. 配合grep使用

配合grep使用,我们就有:

当然,还可以配合awk等,笔者在这里就不一一介绍了,有情趣的朋友可以参考一下其它文档。

MySQL内存及虚拟内存优化设置参数 mysql优化调试命令1、mysqld--verbose--help这个命令生成所有mysqld选项和可配置变量的列表2、通过连接它并执行这个命令,可以看到实际上使用的变量的值:m

优化mysql之key_buffer_size设置 key_buffer_sizekey_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffe

MySQL安全策略(MySQL安全注意事项) 导读MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,如何保证MySQL的数据安全?数据安全如果只靠MySQL应用层面显然是不够

标签: mysql性能比较

本文链接地址:https://www.jiuchutong.com/biancheng/347529.html 转载请保留说明!

上一篇:MySQL数据库远程访问权限如何打开(两种方法)(MySQL数据库远程登录)

下一篇:MySQL内存及虚拟内存优化设置参数(mysql 内存模型)

  • 不征税收入确认递延收益如何填报
  • 电子税务局增值税发票系统
  • 关税消费税增值税计算公式
  • 投资控股型公司什么意思
  • 电子发票怎么入库
  • 开发票要多交费正常吗?
  • 增值税转型前后对比
  • 通过物流中心再送货配货属视同销售吗
  • 租了房子再转租
  • 非破产清算会计案例
  • 股权投资公司如何找项目合作
  • 劳务报酬所得如何计税
  • 基本医疗支付范围
  • 生产经营所得如何缴纳个人所得税
  • 年末所得税账务处理
  • 税收六项减免
  • 航道疏浚服务属于什么服务
  • 电费冲销是什么意思
  • 盈余公积补亏影响资产吗
  • 企业购入交易性金融资产支付的交易费用
  • 坏账损失做哪个科目
  • 发票代码会有一样的吗
  • 税控盘费用抵减增值税的账务处理
  • 供热企业所使用的燃气
  • 少计提增值税0.01计入营业外
  • 购货申请书
  • 怎么给自己的宽带改名字
  • 政府划入资产会计处理
  • 异地成立分公司的流程和要求
  • 外籍人员工资薪金扣除
  • 委托加工物资验收入库的金额
  • 研发人员的差旅费可以加计扣除吗
  • batset命令
  • 增值税进项发票丢失最新处理办法
  • 摇树的英文是什么
  • uniapp零基础小白到项目实战
  • 机器学习中的数学原理——模型评估与交叉验证
  • 预提和计提
  • 公司欠款 法人
  • 公司对其他公司的投资怎么做账
  • phpcms使用教程
  • 个人所得税退税退多少钱怎么算
  • 普通发票该可以抵扣吗
  • 存货盘亏毁损处理方法
  • 收据十万大写金额填写样本
  • 政府补助属于不征税金吗
  • 原材料报废收入账务处理
  • 一般纳税人改成小规模可以吗
  • 当月进项发票忘记抵扣
  • 税控盘开具增值税专用发票步骤
  • 会计中应收账款属于什么科目
  • 公司买车赠送给个人,怎么交税
  • 营改增后不动产转让增值税
  • 个税起征点提高的意义
  • 银行业务冲正
  • 营改增之后账务怎么处理
  • 事业单位工会经费不足怎么办
  • 错账查找方法主要有
  • 查看sqlserver操作记录
  • win8正版系统
  • 无法ping通虚拟机
  • SpySub.exe - SpySub是什么进程
  • WIN7系统如何禁止特定软件在线升级
  • cocos2d安装
  • opengl glm库
  • 全志科技在国内芯片界地位
  • nodejs怎么启动服务
  • windows、linux
  • javascript开发app教程
  • javascript基于什么的语言
  • python3+PyQt5实现使用剪贴板做复制与粘帖示例
  • linux中shell脚本实验总结
  • javascript语言基础
  • python字符串拼接join
  • python正则函数
  • 如何用python编写脚本处理数据
  • 购房发票怎么查验
  • 重庆国税官网网址
  • 医院等级怎么查询系统
  • 车辆购置税免税条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设