06 2022 档案

摘要:锁是一种很珍贵的资源。锁一定是并发场景下才会出现的。 保证数据的隔离性,一致性。 1.latch 这个锁存在于内存中,用来控制并发访问的,保护的是内存数据结构。他锁住的是并发资源。就是临界区。 就是java和golang中的mutex。 他加锁的对象是线程。持续时间是临界时间。只有读写锁和互斥量。并 阅读全文
posted @ 2022-06-29 17:30 拿什么救赎 阅读(211) 评论(0) 推荐(0) 编辑
摘要:涉及的内容很多,慢慢写。 1.ACID 原子性 atomicity redo有关 一致性 consistency undo有关 隔离性 isolation lock有关(mysql中只有可串行化能保障,哪怕是rr也不能完全保障隔离性) 持久性 durable redo + undo有关 2.脏读,不 阅读全文
posted @ 2022-06-28 18:36 拿什么救赎 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1.Double write 这个特性,主要是为了保证数据的持久性或者说是可靠性。 为什么会有这个特性的出现。主要的原因是。内存中,最小的单元是什么?bit,0和1。但是磁盘上哪?对于MySQL来说,是页。 也就是说,在往磁盘中写数据的时候,如果一个16k的页,你写到8k的时候,掉电了,或者mysq 阅读全文
posted @ 2022-06-28 15:12 拿什么救赎 阅读(39) 评论(0) 推荐(0) 编辑
摘要:checkpoint机制,主要干的事情就是把脏页刷新到磁盘。 数据库只能保证最终一致性。你在数据库运行的时候,磁盘上的数据和内存中的数据不一致太正常了。 另外checkpoint也能保证数据库在挂了,或者出事了之后,缩短他的恢复时间。这个很好理解,MySQL有redo和binlog去保证事务的持久性 阅读全文
posted @ 2022-06-28 00:47 拿什么救赎 阅读(414) 评论(0) 推荐(0) 编辑
摘要:查看线程: 在performation_schema下,有一个threads表。 首先是IO线程 控制参数是innodb_write_io_threads。整个16应该没问题。 而innodb_read_io_threads,就不用动了,write是异步的,read是同步的。 page_cleane 阅读全文
posted @ 2022-06-27 22:48 拿什么救赎 阅读(245) 评论(0) 推荐(0) 编辑
摘要:参数:innodb_buffer_pool_size。我们线上基本上设置50-75%。设过80,发现OOM有点严重。 不过这个值肯定是越大,性能越好。 如何在缓冲池中标记一个页? (space,page_num) space指的是你ibd文件的编号。在information_shcema中 inno 阅读全文
posted @ 2022-06-27 16:55 拿什么救赎 阅读(197) 评论(0) 推荐(0) 编辑
摘要:记录下MySQL的表空间。 在MySQL官方文档中,很多行(row)记录在页(page)中,页记录在区(extent)中,区记录在段(segment)中,段则在表空间中。表空间就是tablespace。 其中,区是最小的空间申请单位,通常一次性申请4个区。区的固定大小是1M。以MySQL默认的16k 阅读全文
posted @ 2022-06-27 00:30 拿什么救赎 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:之前说了磁盘的压测。也就顺便记录下MySQL的压测。 show global status like '%Question%';这是一个累加的值。记录MySQL启动到现在的查询数。 show global status like '%Uptime%';累加值,记录MySQL启动的秒数。 直接stat 阅读全文
posted @ 2022-06-26 23:25 拿什么救赎 阅读(82) 评论(0) 推荐(0) 编辑
摘要:记录一下用iostat对磁盘进行的测试。 测试用例:iostat -xm 3 结果的上半部分是cpu的平均数据。 通常是user所占的cpu会多一点。 %idle表示cpu空闲时间。 device表示目前的设备。 rrqm/s 每秒发起合并读的请求。每秒这个设备相关的读取请求有多少被Merge了(当 阅读全文
posted @ 2022-06-26 22:17 拿什么救赎 阅读(196) 评论(0) 推荐(0) 编辑
摘要:本篇文章,想主要研究下beforesleep和aftersleep两个阶段redis究竟干了什么。 aftersleep只是处理module,可以忽略。 主要研究beforesleep。 1.刷新zmalloc_used变量和server.stat_peak_memory变量。很简单,就是当前的us 阅读全文
posted @ 2022-06-08 22:57 拿什么救赎 阅读(340) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示