bingoohuang

Results 115 issues of bingoohuang

# [MySQL 索引概览](https://blog.csdn.net/wallace_www/article/details/117264149) 在 SQL 优化中,索引是至关重要的一环,能给查询效率带来质的飞跃,但是索引并不是万能的,不合理的索引设计甚至会拖慢查询效率。本文将详细介绍索引的概览和分类,并讨论使用索引时应该权衡的要素,关于索引底层实现的内容将在下一篇文章 [MySQL 索引结构](https://blog.csdn.net/wallace_www/article/details/117304921?spm=1001.2014.3001.5501) 中介绍。 ## 索引定义 索引是一种专门用于帮助 SQL 高效获取数据的数据结构,一个常用的例子是,索引类似于一本书的目录,可以快速对特定值进行定位和查找,从而大大加快数据查询的效率。实际上,索引也是一张表,这张表保存了主键与索引字段,并指向实体表的记录(类似指针)。 ## 索引优缺点 优点 1. 索引大大减小了服务器需要扫描的数据量 2. 索引可以帮助服务器避免排序和临时表 3. 索引可以将随机IO变成顺序IO 4. 索引对于InnoDB(对索引支持行级锁)非常重要,InnoDB仅对需要访问的元组加锁,而索引能够减少InnoDB访问的元组数。如果查询不能使用索引,MySQL会进行全表扫描,并锁住每一个元组,不管是否真正需要。 缺点 1. 虽然索引大大提高了查询速度,同时却会降低更新表的速度。 - 因为更新表时,MySQL不仅要保存数据,还要保存索引文件。...

文摘

1. 当时 PHP 的代码以后的感受是:动态语言一时爽,代码重构火葬场。From [RustCon Asia 实录 | Rust 在国内某视频网站的应用](https://mp.weixin.qq.com/s/VuyGsgIs-8oG4bBC6QiPTg) 1. 架构的价值就是让我们的软件(Software)更软(Soft)]。From [架构思想 = 不过时 = 历久弥新](https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247486729&idx=2&sn=a643fee90461dd6c297316e5e136b4a4&chksm=fdeb3f69ca9cb67f04d9316c3d49152557ebf8d187fec4ce2afded5e203b079cdcda2ac75a5b&xtrack=1&scene=0&subscene=93&clicktime=1559722031&ascene=7&devicetype=android-26&version=2700043b&nettype=3gnet&abtest_cookie=BQABAAoACwASABMAFQAHACOXHgBWmR4Ax5keANyZHgDxmR4AA5oeAA2aHgAAAA==&lang=zh_CN&pass_ticket=QXVzsDMgRou4CggYJc1uwyiu4XUFlAM1WUyGtaEv1YwHK8FqJxXUvH8zG8fyUTC1&wx_header=1)

摘句

在看文章[golang中goroutine的调度](https://github.com/developer-learning/night-reading-go/blob/master/reading/20180802/README.md)时,发现里面的几张图,竟然是纯文本画出来的,感觉很有意思,特此mark一下,回头也尝试尝试。 #### 状态 ``` mstart | v 找不到可执行任务,gc STW, +------+ 任务执行时间过长,系统阻塞等 +------+ | spin | ----------------------------> |unspin| +------+ mstop +------+ ^ | | v notewakeup | _Pgcstop | | _Pidle...

博客

# 限流算法解读 ## 漏桶算法 漏桶(Leaky Bucket)算法,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当流入速度过大时,会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,而当入小于出的情况下,漏桶不起任何作用。可以看出漏桶算法能强行限制数据的传输速率。示意图如下: [![image](https://user-images.githubusercontent.com/1940588/138213178-5e6abb42-dc40-42c7-88cb-4a88b51b67ce.png)](https://www.cnblogs.com/duanxz/p/4123068.html) 注意:在实际应用中,漏桶算法强制限定流量速率后,多出的(溢出的 excess)流量可以被利用起来,并非完全丢弃,我们可以把它收集到一个队列(burst) 里面,做流量队列,尽量做到合理利用所有资源。 漏桶算法:水(请求)先进入到漏桶里,漏桶以一定的速度出水,当水流入速度过大会直接溢出(拒绝服务),可以看出漏桶算法能强行限制数据的传输速率 - 流入:以任意速率往桶中放入水滴。 - 流出:以固定速率从桶中流出水滴。 用白话具体说明:假设漏斗总支持并发100个最大请求,如果超过100个请求,那么会提示系统繁忙,请稍后再试,数据输出那可以设置1个线程池,处理线程数5个,每秒处理20个请求。 - 优点:无法击垮服务 - 缺点:因为当流出速度固定,大规模持续突发量,无法多余处理,浪费网络带宽 [openresty/lua-resty-limit-traffic](https://github.com/openresty/lua-resty-limit-traffic/blob/master/lib/resty/limit/req.lua)源码解读 ```lua -- Copyright (C) Yichun Zhang (agentzh) -- --...

为啥

# Gitako-Octotree备选方案 [Gitako](https://github.com/EnixCoda/Gitako)是GitHub的文件树扩展,适用于Chrome、Firefox和Edge。更重要的是,它有很多有用的功能。 GitHub的图腾是一只可爱的章鱼。章鱼在日语中是タコ(Tako)。然后将它们联系在一起:Gitako的标志是章鱼的触角,表明Gitako的工作方式类似于GitHub的一部分。 ![image](https://user-images.githubusercontent.com/1940588/98777823-6107e380-242c-11eb-8687-672e31ec852b.png) ![image](https://user-images.githubusercontent.com/1940588/98778024-adebba00-242c-11eb-93a3-f798527f4331.png) 对比一下,发现octotree真丑,还要付费使用高级功能,上了Gitako后,卸载了它。 [Gitako - 优雅、开源、免费的 GitHub 文件树插件](https://v2ex.com/t/722220) 你也许已经听说过,或正在使用大名鼎鼎的 Octotree,但它已经有一些不太友好的地方——已经过时的技术栈令它在大项目中运行缓慢,不注册账号就不能开启全部功能,甚至适配企业版 GitHub 都要收费 :( 最近 Octotree 更是出现了擅自更改开源协议、企图闭源侵占其他贡献者的成果的恶性事件,此事到今天仍然尘埃未定,在 issue 中吵得纷纷扰扰。 好的文件树插件不应该是如此繁重的——基于这一理念,我开发了并重性能与体验的 Gitako !它开源且免费,致力于补充 GitHub 的既有功能,在大幅提升你的 GitHub 浏览体验的同时不画蛇添足。 1....

博客

1. 从[官网](https://iperf.fr/iperf-download.php)下载[CentOS 64 Iperf3](https://iperf.fr/download/fedora/iperf3-3.1.3-1.fc24.x86_64.rpm) 1. 上传服务器 `bssh scp -H root18 ~/Downloads/iperf* r:bingoohuang/`,`bssh scp -H root182 ~/Downloads/iperf* r:bingoohuang/` 1. 分别安装 ```bash [root@fs18 bingoohuang]# rpm -ivh iperf3-3.1.3-1.fc24.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:iperf3-3.1.3-1.fc24...

实践

要做到这一点,必须记住: 1. 日志写入方式是append(追加)的; 2. 对于重定向输出,是两个大于号`>>`的。 下面的执行脚本演示了,使用`nohup java -jar xx.jar 2>&1 > xx.log &`的情况下,清除日志,`ls -lh`看到的大小不会变化,但是`du -sh`能看到变化,二者不一致。 如果使用追加的方式,则没有问题。特此记录一下。 ```bash [app@app02 et-server]$ ls -lh et-server.log -rw-rw-r-- 1 app app 1.2G 12月 22 17:36...

博客

# SpringBoot 内嵌 Tomcat 会话保持的坑 ## 问题 ![wecom-temp-a908312733e9b95963e3fd237cdda0af](https://user-images.githubusercontent.com/1940588/127990926-608a6e76-49c5-4a2f-bda9-15f0e04f41cb.png) 以下脚本,证实springboot会话保持有问题 ```sh $ gobench -l :10902/mssm/v3/auth/api/customerVerify -c1 -t1 Dispatching 1 goroutines at 2021-08-03 16:44:42.211 10 / 10 [---------------------------------] 100.00% 1 p/s Total...

抓虫

![image](https://user-images.githubusercontent.com/1940588/50775571-77ddcc00-12d1-11e9-8395-cef3af5986eb.png) # 海草介绍 [Seaweedfs](https://github.com/chrislusf/seaweedfs)是一个非常优秀的golang开发的分布式存储开源项目,专注解决小文件存储。开发者是中国人[Chris Lu](https://www.zhihu.com/people/chris-lu-63)。Seaweedfs的设计原理是基于Facebook的一篇图片存储系统的论文[Facebook-Haystack](https://yanyiwu.com/work/2015/01/04/Haystack.html)。目前Star数量7123。据称京东的tiglabs/containerfs其中关键的数据存储部分代码抄袭自海草。 # 名词术语 [来源](https://blog.csdn.net/DPnice/article/details/84990050) | 术语 | 解释 | |---------------------------------------------------------------|----------------------------------------------------------------------------------| | master | 提供volume=>location 位置映射服务和文件id的序列号 | | Node | 系统抽象的节点,抽象为DataCenter、Rack | | Datanode | 存储节点,用于管理、存储逻辑卷 |...

博客

# mac 上的一些小命令 1. 查看进程的工作目录 `lsof -a -d cwd -c programname` or `lsof -a -d cwd -p processid`,[谢](https://stackoverflow.com/questions/8327139/working-directory-of-running-process-on-mac-os/8331292) ``` $ lsof -a -d cwd -p 41187 COMMAND PID USER FD...

博客