cslqm Blog

Hello,world!

systemd-random-seed启动耗时过长

systemd random seed service

曾经还是老同事负责 cloud-init,当时是有个密码的加解密总是卡住很长时间。我也没有太关注。结果最近遇到非常雷同的问题:虚机启动后,很长的一段时间 ssh 登不上,但是网络是能 ping 通的。 定位问题倒是没有花费太多时间,但是了解原因的背景是真费时。 本文记录一下,免得以后又遇到,不知道原理。(原理涉及密码学,我就明白了大概,纯记录,不做做参考) 问题: 虚机启动后,长时间登...

制作一个无法mount ntfs 镜像,但是能被ntfsfix修复

make image, it is break ntfs

镜像大师又遇到高难度问题了,需要制作一个镜像:镜像中的 ntfs 不能 mount,但是呢,用 ntfsfix 能修复,修复后,又能 mount。 下边是这种尝试的记录,每一个大尝试是一个二级标题。 磁盘休眠的镜像无法mount 来源:https://askubuntu.com/questions/384429/cannot-remove-hiberfile-on-ntfs-parti...

go中可以撤销的读

go read

https://benjamincongdon.me/blog/2020/04/23/Cancelable-Reads-in-Go/ 作者:Ben Congdon 本文主要讲一个可以被抢占的异步读实现方案 io.Reader 接口,Read() 这个方法是阻塞的,开始操作后,就不能抢占。 io.ReadCloser 是 Go 的常用退出,允许抢占一个读取操作。但是,只能执行一次...

Remote Procedure Call(rpc)

rpc

都是基于 Go 描述的。 RPC是远程过程调用的缩写(Remote Procedure Call),通俗地说就是调用远处的一个函数。远处到底有多远呢?可能是同一个文件内的不同函数,也可能是同一个机器的另一个进程的函数,还可能是远在火星好奇号上面的某个秘密方法。 而Protobuf因为支持多种不同的语言(甚至不支持的语言也可以扩展支持),其本身特性也非常方便描述服务的接口(也就是方法列表)...

raft 协议

raft

首推:http://thesecretlivesofdata.com/raft/ 分布式存储系统通常通过维护多个副本来进行容错,保证高可用性。要做到这个,就必须解决分布式存储系统的核心问题:维护多个副本的一致性。 raft 协议就是一个一致性协议。 在一个具有一致性的性质的集群里面,同一时刻所有的结点对存储在其中的某个值都有相同的结果,即对其共享的存储保持一致。集群具有自动恢复的性质,...

tidb courses: day9

tidb day9

TiDB 的 SQL 性能优化指南 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 --SQL--> Parser --AST--> logical optimizer | ...

tidb courses: day8

tidb day8

TiDB 的系统表 Default Schemas TiDB 4.0 MySQL 5.7.30 INFORMATION_SCHEMA information_schema METRICS_SCHEMA mysql P...

tidb courses: day7

tidb day7

TiDB 与 MySQL 的区别 协议兼容 语法兼容 数据定义 数据处理 基本事务/锁 语义兼容 AUTO_INCREMENT 在单个 TIDB 上,可以唯一性,自增性,连续性。 多个 TiDB 上,只能唯一性。 为了提高 AUTO_INCREMENT 效率。 INDEX 不支持的 index: 全文索引 fulltext index 空间索引 spatial index ...

tidb courses: day6

tidb day6

如何对 TiDB 进行基准测试 测试建议 需要好的 cpu ssd 内存 sysbench 测试工具 乐观事务 <4.0 $ set global tidb_disable_txn_auto_retry = off; 乐观事务,事务冲突,但是没有重试。 ANALYZE TABLE sbtest7; SELECT CONUT(pad) FROM sbtest7 USE ...

tidb courses: day5

tidb day5

如何通过 TiUP 布置 TiDB TiUP 包管理器 组件 playgroud 布置本地集群 组件 cluster 部署生产环境集群 参数都是组件的参数。 组件仓库地址可以更改。 本地集群部署 playground 生产环境部署 配置 yaml 集群部署文件 tiup cluster check xxx.yaml 检查 yaml 中的机器 tiup cluster st...