avatar
文章
140
标签
139
分类
17
首页
归档
标签
分类
友链
咕咕
搜索
首页
归档
标签
分类
友链

咕咕

使用FPM优雅的进行rpm打包
发表于2019-08-27|RPM
一、介绍对于有过构建rpm安装包相关操作的应该知道可以使用spec文件以及rpmbuild指令进行打包操作,不过spec文件的编写也是一个十分令人头懂的事情,我之前曾经有过一篇使用spec文件打包的文章,参考RPM打包记录,这里介绍一个更高效,更人性化的打包工具:FPM。 FPM是一个快速高效的打包工具,该工具本身为Ruby的一个模块,因此使用该工具之前需要安装Ruby; 二、安装与使用2.1、安装# 安装rubyyum -y install ruby rubygems ruby-devel# 替换国内的ruby镜像gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/# 验证镜像是否替换成功gem sources -l# 安装fpmgem install fpm 2.2、参数介绍-f :强制覆盖[覆盖同名rpm包]-n :指定的rpm包名-p :指定的rpm包文件放置位置,最后将rpm存放在该路径下;-v :指定的rpm包版本-d :指定依赖的软件 ( [-d '...
BloomFilter 和 CuckooFilter 对比解析
发表于2019-08-12|算法
BloomFilter 和 CuckooFilter 都是一种用于数据存在性判断的数据结构。布隆过滤器早在 1970 年就被提出,它由一个二进制向量数组和一系列随机映射函数组成。它可以用于检索一个元素是否一定不在集合中或者可能存在集合中。布谷鸟过滤器的提出相对较晚,它创新性的提出了可以删除的实现方式,解决了布隆过滤器无法删除数据的痛点。这两者各有优劣,需要结合具体的使用姿势来进行选择。 一、BloomFilterBloom Filter(布隆过滤器)是1970年由布隆提出的,它由一个二进制向量数组和一系列随机映射函数组成。它可以用于检索一个元素是否一定不在集合中或者可能存在集合中。 《Space/Time Trade-offs in Hash Coding with Allowable Errors》 1.1、实现原理 初始化内存区域:在内存中开辟一块储存空间,并将里面的比特位全部初始化为0; 设置k个hash函数:初始化k个hash函数,用于元素的数据映射; 比特位映射:通过k个hash函数,将元素映射到存储空间对应的比特位,并将对应的比特位设置为1; 1.2...
记一次nf_conntrack模块导致的丢包问题
发表于2019-08-10|网络•nf_conntrack•Iptables
一、背景我们灰度线上业务的时候,有一次遇到了业务反馈资源没有读写,当时正好将流量切到了线上的一台机器上,在将业务的资源迁移回滚之后,经过一番查找,发现/var/log/message中打印了很多关于kernel: nf_conntrack: table full, dropping packet的错误信息,网上查找了一下,这个错误主要是由于启用了nf_conntrack模块,之前很多人都遇到了这个问题,解决方案也很多,这里以我的角度详细记录一下,/var/log/message中错误信息如下: Jul 30 11:50:01 dbl14192 systemd: Starting Session 486429 of user root.Jul 30 11:50:02 dbl14192 kernel: nf_conntrack: table full, dropping packetJul 30 11:50:02 dbl14192 kernel: nf_conntrack: table full, dropping packetJul 30 11:50:02 dbl14192 ker...
Perf与火焰图
发表于2019-07-10|Perf•火焰图•性能分析
一、PerfPerf 是基于Linux 2.6+系统的一款性能分析工具。它可以用来分析应用程序和内核的性能问题,从而全面理解应用程序中的性能瓶颈。 [root@bugwz ~]# perf --help usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code archive Create archive with object files with build-ids found in perf.data file bench General framework for benchmark suites buildid-cache Manage build-id cache. buildid-list List...
漏桶与令牌桶速率限制算法
发表于2019-07-01|算法•限流•Nginx
一、漏桶算法漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。示意图如下所示: 1.1、算法过程 数据包入队列:数据包按照一定的顺序存储入用于临时存储的缓存队列(数据桶)中; 数据包等待或溢出:数据包在缓存队列(数据桶)中等待一段时间,或者如果此时缓存队列(数据桶)已经达到存储的上限,数据包溢出(被丢弃); 数据包出队列:将缓存队列(数据桶)中的数据包按照固定的速率依次出队列并进行处理; 1.2、特点 优点: 能够强行限制数据的传输速率; 保证严格的延迟界限; 缺点: 对突发性的流量缺乏处理效率; 1.3、相关项目 Nginx中关于漏桶的设计与实现:ngx_http_limit_req_module 模块中的ngx_http_limit_req_lookup函数(位于./src/http/modules/ngx_http_li...
Redis的Memory命令讲解
发表于2019-01-24|C/C++•Redis
一、简述Memory指令是Redis4.0版本更新的特性,可用于详细的分析内存的使用情况,内存使用诊断,内存碎片回收等工作; 可以通过memory help指令打印出memory指令的信息,详细信息如下所示: 1) MEMORY <subcommand> arg arg ... arg. Subcommands are:2) DOCTOR - Return memory problems reports.3) MALLOC-STATS -- Return internal statistics report from the memory allocator.4) PURGE -- Attempt to purge dirty pages for reclamation by the allocator.5) STATS -- Return information about the memory usage of the server.6) USAGE <key> [SAMPLES <count>] -- Return memory in b...
TCL语言入门
发表于2019-01-13|Redis•TCL
一、简述Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,一条TCL的命令串包含若干条命令,命令使用换行符或分号来隔开;而每一条命令包含若干个域(field),域使用空白(空格或TAB)来隔开——第一个域是命令的名字,其它的域是该命令的参数。 二、基本语法2.1、注释注释在调试的过程中轻常碰到。TCL语言的注释符号是 # ,加在每一行的最前面。 2.2、脚本、命令、单词一个TCL 脚本 可以包含一个或多个 命令 。 命令 之间必须用换行符或分号隔开,推荐使用换行符分开。下面就是一个合法的TCL 脚本 ,它由两个赋值 命令 组成; set a 1set b 2 TCL的每一个 命令 包含一个或几个 单词,第一个单词代表命令名,另外的单词则是这个命令的参数,单词之间必须用 空格 或 TAB键 隔开。上面代码中的 set , a , 1 分别是三个单词。 TCL解释器对一个 命令 的求值过程分为两部分:分析和执行; 在分析阶段,TCL 解释器运用规则把 命令 分成一个个独立的单词,同时进行必要的 置换(substitution) ; 在执行阶段,TCL 解释器会把第...
localtime函数死锁分析
发表于2019-01-12|Redis•锁
一、简介前段时间,线上的redis实例出现了一些异常的情况,具体变现就是bgsave子进程hang住了,从而引发了后续的很多问题,通过排查最终发现是localtime相关函数引起的,这里做一下总结记录。 C 库函数 *struct tm *localtime(const time_t timer) 作用是根据本地时区信息将 time 函数获取的 UTC 时间调整为为本地时间,并将具体的时间信息填充到tm结构体之中; 二、详细介绍由于localtime函数的具体底层实现的缘由,在某些场景下会触发localtime函数导致的死锁问题,这里详细的分析原因以及后续的处理方案; 2.1 底层实现分析localtime函数底层的调用栈信息为: localtime() => __tz_convert() localtime 函数的底层代码实现(代码位于./time/localtime.c): /* Return the `struct tm' representation of *T in local time. */struct tm *localtime (...
Clang-Format格式化工具
发表于2019-01-08|C/C++•编程语言•工具
Clang-Format 是基于 clang 的一个命令行工具,这个工具能够自动化格式 C/C++/Obj-C 代码,支持多种代码风格(Google, Chromium, LLVM, Mozilla, WebKit),同时也支持自定义风格(通过编写.clang-format文件),这里记录了常用的配置 Clang-Format 常用的配置项及其含义。 一、安装方式# macbrew install clang-format 二、参数解析官方文档的参数解析为:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 2.1 参数解析BasedOnStyle样式信息: LLVM:一种遵循LLVM coding standards的样式; Google:一种遵循Google’s C++ style guide的样式; Chromium:一种遵循Chromium’s style guide的样式; Mozilla:一种遵循Mozilla’s style guide的样式; WebKit:一种遵循WebKit’s...
hashlimit-Iptables笔记
发表于2019-01-04|hashlimit•iptables•网络
一、简介hashlimit是iptables的一个匹配模块,用它结合iptables的其它命令可以实现限速的功能。注意:单独hashlimit模块是无法进行限速的; 二、原理介绍实际上,使用 hashlimit 进行限速主要包括两个步骤: 对符合 hashlimit 匹配规则包放行 丢弃/拒绝未放行的包 2.1 令牌桶模型hashlimit 的匹配方式是基于令牌桶(Token bucket)的模型,令牌桶是一种网络通讯中常见的缓冲区工作原理,它有两个重要的参数,令牌桶容量n和令牌产生速率s; 令牌桶容量n:可以把令牌当成是门票,而令牌桶则是负责制作和发放门票的管理员,它手里最多有n张令牌。初始时,管理员开始手里有n张令牌,每当一个数据包到达后,管理员就看看手里是否还有可用的令牌。如果有,就把令牌发给这个数据包,hashlimit 就告诉iptables,这个数据包被匹配了,而当管理员把手上所有的令牌都发完了,再来的数据包就拿不到令牌了;这时,hashlimit 模块就告诉 iptables ,这个数据包不能被匹配,对应参数--hashlimit-burst; 令牌...
1…8910…14
avatar
bugwz
持续学习,持续进步
文章
140
标签
139
分类
17
最新文章
CephFS RADOS 对象数据解析
CephFS RADOS 对象数据解析2026-02-10
ProxyAssistant - 强大的浏览器代理管理扩展
ProxyAssistant - 强大的浏览器代理管理扩展2026-01-25
Ceph 命令注册及执行流程
Ceph 命令注册及执行流程2025-12-06
Ceph 日志实现分析
Ceph 日志实现分析2025-11-22
Ceph 和 LinuxKernel 版本时间对照表
Ceph 和 LinuxKernel 版本时间对照表2025-11-08
分类
  • Redis17
    • RedisCluster1
    • RedisModule10
    • 异地多活1
    • 演进史3
    • 特性1
    • 相关库1
  • 论文10
标签
存储介质 TSDB 浏览器扩展 区块链 进程 RedisTimer GitHub Pages nc 刷机 LVS CuckooFilter Ceph 论文 许可证 Mac sar MIUI 虚拟化 Tmux 爬虫 内网穿透 Interrupt VPN Ubuntu Linux 代理服务器 RedisProtobuf PicGo Markdown 哈希表 Windows 收藏 正则匹配 T-Digest Latex Hexo 代码调试 pptpd LibMR Hook
归档
  • 二月 2026 1
  • 一月 2026 1
  • 十二月 2025 1
  • 十一月 2025 2
  • 十月 2025 1
  • 八月 2025 1
  • 六月 2025 1
  • 五月 2025 1
网站信息
文章数目 :
140
本站总字数 :
557.1k
© 2019 - 2026 By bugwz框架 Hexo 8.1.1|主题 Butterfly 5.5.3