<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[superbfly的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/superbfly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; superbfly]]></copyright><item><title><![CDATA[sysbench压测mysql性能测试命令和报告]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/139121320</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/139121320</guid><author>superbfly</author><pubDate>Wed, 22 May 2024 17:27:01 +0800</pubDate><description><![CDATA[​ --mysql-db=tssysbench --tables=20 --table_size=1000000：这一串的意思，就是说在tssysbench这个库里，构造20个测试表，每个测试表里构造100万条测试数据，测试表的名字会是类似于sbtest1，sbtest2这个样子的。​ --mysql-host=172.16.111.109 --mysql-port=13306 --mysql-user=root --mysql-password=123456：数据库的用户和密码等信息。]]></description><category></category></item><item><title><![CDATA[Docker搭建mysql性能测试环境]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/139065213</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/139065213</guid><author>superbfly</author><pubDate>Mon, 20 May 2024 15:57:33 +0800</pubDate><description><![CDATA[v /etc/localtime:/etc/localtime:ro：让容器的时钟与宿主机时钟同步，避免时区的问题，ro是read only的意思，就是只读。-v /usr/local/mysql/data:/var/lib/mysql：映射数据目录，宿主机:容器。-v /usr/local/mysql/log:/var/log/mysql：映射日志目录，宿主机:容器。-v /usr/local/mysql/conf:/etc/mysql：映射配置目录，宿主机:容器。先创建一个简单的mysql容器实例。]]></description><category></category></item><item><title><![CDATA[C语言宏的妙用]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/136099395</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/136099395</guid><author>superbfly</author><pubDate>Mon, 12 Feb 2024 08:23:29 +0800</pubDate><description><![CDATA[宏定义是 C 语言预处理指令中最常用的一种，它是一种非常重要的预处理功能。通过宏定义，我们可以将一个标识符定义为一个常量或一个表达式，然后在程序中就可以直接使用这个宏定义来代替该常量或表达式。宏定义可以简化程序的编写，提高程序的可读性。宏定义的语法如下：#define 宏名 宏体其中，宏名是宏定义的名称，宏体是宏定义的具体内容。宏定义的名称必须遵循 C 语言标识符的命名规则，宏体的具体内容可以是常量、表达式、函数调用等。在程序中使用宏定义的方法非常简单，只需要直接使用宏定义的名称即可。]]></description><category></category></item><item><title><![CDATA[meson、ninja编译dpdk]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/135964063</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/135964063</guid><author>superbfly</author><pubDate>Wed, 31 Jan 2024 23:15:43 +0800</pubDate><description><![CDATA[meson编译dpdk debug版。]]></description><category></category></item><item><title><![CDATA[git删除分支命令]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/133683178</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/133683178</guid><author>superbfly</author><pubDate>Sun, 08 Oct 2023 15:39:41 +0800</pubDate><description><![CDATA[将<remote_name>替换为远程仓库的名称（通常是origin），<branch_name>替换为要删除的分支的名称。这将删除指定的远程分支，并且会自动删除对应的本地分支。注意，使用 -d 选项时，如果尝试删除当前所在的分支，Git 会拒绝删除并显示错误消息。这将从远程仓库获取最新的分支列表，并删除本地不再存在的远程分支。另外，如果想要删除已经合并到当前分支的分支，可以使用 -m 选项。这将删除指定的分支。请确保在执行这些命令之前，你已经切换到正确的分支，并且你解你要删除的分支的名称。]]></description><category></category></item><item><title><![CDATA[GitLab多人开发步骤]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/133082040</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/133082040</guid><author>superbfly</author><pubDate>Wed, 20 Sep 2023 16:09:55 +0800</pubDate><description><![CDATA[提交的commit发现不符合规范，git commit --amend -m "新的提交信息"或 git reset --hard HEAD 重新提交一次。这事因为远程仓库没有对应的分支，复制并执行红框中的命令，可以在远程仓库新建对应的分支，并自动上传到远程仓库。refactor：重构代码，既没有新增功能，也没有修复 bug，比如提取某段代码为一个方法、重构某个功能等。chore：不修改 src 或者 test 的其余修改，例如构建过程或辅助工具的变动。ci：与 CI（持续集成服务）有关的改动。]]></description><category></category></item><item><title><![CDATA[openEuler加载本地yum源]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/132166052</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/132166052</guid><author>superbfly</author><pubDate>Tue, 08 Aug 2023 14:23:06 +0800</pubDate><description><![CDATA[3.更新yum源信息。]]></description><category></category></item><item><title><![CDATA[deepin 21 升级GLIBC2.29]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/131952199</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/131952199</guid><author>superbfly</author><pubDate>Thu, 27 Jul 2023 09:29:44 +0800</pubDate><description><![CDATA[Linux下对glibc库的操作要格外小心，稍有失误，轻则需要救援模式，重则开启系统重装之路。可恨deepin V21 是基于 Debian 10 的，Debian 10 里目前还是 2.28，Debian 11 里才是 2.31，所以得等 V23 版升级到 Debian 11+ 才可以。好在可以手动升级，虽然麻烦一些，但好歹一些高版本的软件能用了。]]></description><category></category></item><item><title><![CDATA[GmSSL编译静态库]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/131919799</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/131919799</guid><author>superbfly</author><pubDate>Tue, 25 Jul 2023 15:58:23 +0800</pubDate><description><![CDATA[GmSSL是由北京大学自主开发的国产商用密码开源库，实现了对国密算法、标准和安全通信协议的全面功能覆盖，支持包括移动端在内的主流操作系统和处理器，支持密码钥匙、密码卡等典型国产密码硬件，提供功能丰富的命令行工具及多种编译语言编程接口。]]></description><category></category></item><item><title><![CDATA[python udp收发包示例]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/131558690</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/131558690</guid><author>superbfly</author><pubDate>Wed, 05 Jul 2023 16:40:24 +0800</pubDate><description><![CDATA[【代码】python udp收发包示例。]]></description><category></category></item><item><title><![CDATA[使用git rebase合并多次commit]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/130970573</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/130970573</guid><author>superbfly</author><pubDate>Wed, 31 May 2023 17:05:01 +0800</pubDate><description><![CDATA[记录git rebase使用过程，以及冲突处理，再次提交的流程。]]></description><category></category></item><item><title><![CDATA[Linux安装Docker环境]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/130794903</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/130794903</guid><author>superbfly</author><pubDate>Sun, 21 May 2023 18:32:52 +0800</pubDate><description><![CDATA[现在，已经在Linux上成功安装了Docker。注意，在某些Linux发行版上，需要使用sudo或将当前用户添加到docker用户组才能运行Docker命令。对于其他Ubuntu版本，请将focal替换为您的Ubuntu版本代号（例如，bionic）。对于其他Linux发行版，请参考Docker官方文档获取相应的软件源。对于其他Linux发行版，请使用相应的包管理器来更新系统。如果安装成功，将显示Docker引擎的版本信息。这将安装Docker引擎及其相关组件。]]></description><category></category></item><item><title><![CDATA[普罗米修斯统计信息上报结构设计]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/130551495</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/130551495</guid><author>superbfly</author><pubDate>Mon, 08 May 2023 09:08:22 +0800</pubDate><description><![CDATA[通过上述的设计，可以将应用程序的各种统计信息发送到普罗米修斯，并且可以利用普罗米修斯提供的丰富功能进行监控和警报。]]></description><category></category></item><item><title><![CDATA[ubuntu20.04安装微信]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/130090229</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/130090229</guid><author>superbfly</author><pubDate>Tue, 11 Apr 2023 18:14:26 +0800</pubDate><description><![CDATA[这里会有个问题，就是中文字符会变成黑色的小方块，解决方案是装fonts-wqy-microhei。使用下面的命令安装微信。]]></description><category></category></item><item><title><![CDATA[yum升级gcc版本]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/129811740</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/129811740</guid><author>superbfly</author><pubDate>Tue, 28 Mar 2023 11:24:33 +0800</pubDate><description><![CDATA[在Centos7环境上直接通过yum升级gcc版本。]]></description><category></category></item><item><title><![CDATA[BPF bpf_spin_lock 使用排错指南]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/128204317</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/128204317</guid><author>superbfly</author><pubDate>Tue, 06 Dec 2022 16:34:38 +0800</pubDate><description><![CDATA[使用BPF时，多核之间难免会有竞争，为了应对这种情况，BPF引入了BPF自旋锁（）的概念，它允许对map元素进行操作时锁定对map元素的访问。自旋锁仅可存储于array、hash和cgroup类型的map中。
这里复制下书上的事例。这个访问控制，精度比较细。对每一个元素使用了自旋锁。另外，这样verifier就知道如何解释这个结构。类型格式通过向二进制对象添加调试信息，使内核和其他工具对BPF数据结构有了更丰富的理解。
宏很重要，作用是为特定maps添加类型解释，就是使用它为的。如果不执行这个宏，就会报的错]]></description><category></category></item><item><title><![CDATA[Linux系统tcp连接设置]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/128060293</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/128060293</guid><author>superbfly</author><pubDate>Sun, 27 Nov 2022 09:33:02 +0800</pubDate><description><![CDATA[【代码】Linux系统tcp连接设置。]]></description><category></category></item><item><title><![CDATA[解决xdp计算ip头checksum报错]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/128050196</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/128050196</guid><author>superbfly</author><pubDate>Sat, 26 Nov 2022 12:16:06 +0800</pubDate><description><![CDATA[例如，其他18字节计算结果为3FFFD时，按照协议生成的补码应该为 FFFF - ( 3+ FFFD = 10000，1+0000 = 0001) = FFFE，但是xdp函数给出的结果却是FFFF，没有再将溢出的1加进去，导致计算错误。使用	XDP进行UDP报文转发，在计算IP首部的CHECKSUM时出错，每65536包数据会错3个，会生成错误的CHECKSUM，如FFFF,按照协议来说CHECKSUM是不会计算出FFFF这个值的。函数通过while循环使得checksum溢出时可以再次进行计算。]]></description><category></category></item><item><title><![CDATA[解决libbpf error: unknown register name ‘r0‘ in asm 报错]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/127753901</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/127753901</guid><author>superbfly</author><pubDate>Tue, 08 Nov 2022 16:55:05 +0800</pubDate><description><![CDATA[= 10, 对于clang版本小于10的，执行#define bpf_tail_call_static  bpf_tail_call 语句。报这个问题是clang版本低导致的，才clang 10以上的版本就不会报这个错误了。头文件中增加关于clang版本的判断。]]></description><category></category></item><item><title><![CDATA[Linux网卡丢包分类整理（2）——驱动篇]]></title><link>https://blog.youkuaiyun.com/superbfly/article/details/126893300</link><guid>https://blog.youkuaiyun.com/superbfly/article/details/126893300</guid><author>superbfly</author><pubDate>Thu, 22 Sep 2022 18:15:00 +0800</pubDate><description><![CDATA[每个CPU核都有一个backlog队列，与Ring Buffer同理，当接收包的速率大于内核协议栈处理的速率时，CPU的backlog队列不断增长，当达到设定的netdev_max_backlog值时，数据包将被丢弃。表示的是 CPU2 和 CPU1，0 号 CPU 的掩码是 0x1 (0001)，1 号 CPU 掩码是 0x2 (0010)，2 号 CPU 掩码是 0x4 (0100)，3 号 CPU 掩码是 0x8 (1000) 依此类推。当 NIC 内部缓冲区写满后，就会丢弃部分数据，引起丢包。]]></description><category></category></item></channel></rss>