技术,生活,随看 \随转
每个项目都会包含一个友好的说明文档,用来阐述和展示整个开发流程。同时也会提供相关的数据集,以供下载练习。
bigdata_analyse
usql 受 PostgreSQL 的 psql 启发,通过命令行提供了一种使用 SQL 和 NoSQL 数据库的简单方法。 usql 支持大多数核心 psql 功能,例如变量、反引号和命令,并具有 psql 不具备的其他功能,例如语法突出显示、基于上下文的完成和多数据库支持。
喜欢在非 PostgreSQL 数据库中使用 psql 之类的工具的数据库管理员和开发人员会发现 usql 直观、易于使用,并且可以很好地替代其他数据库的命令行客户端/工具。
usql使用Go构建时,默认情况下仅启用 PostgreSQL、MySQL、SQLite3 和 Microsoft SQL Server 的驱动程序。可以通过为其数据库驱动程序指定构建标记来启用其他数据库。此外,themost和allbuild 标记分别包括大多数和所有 SQL 驱动程序
Github | #命令行
本文尝试从技术研发与工程实践(而非纯理论学习)角度,在原理与实现、监控告警、 配置调优三方面介绍内核5.10 网络栈。由于内容非常多,因此分为了几篇系列文章。
原理与实现
Linux 网络栈原理、监控与调优:前言
Linux 中断(IRQ/softirq)基础:原理及内核实现
Linux 网络栈接收数据(RX):原理及内核实现
Linux 网络栈发送数据(TX):原理及内核实现(未完成)
监控
Monitoring Linux Network Stack
调优
Linux 网络栈接收数据(RX):配置调优
Linux 网络栈发送数据(TX):配置调优(未完成)
博客地址
B 站这两天发表了一篇总结去年那场大事故的文章:https://mp.weixin.qq.com/s/nGtC5lBX_Iaj57HIdXq3Qg 当时我们 OpenResty Inc 公司团队帮助 B 站在线上快速定位了导致 CPU 100% 的 Lua 代码路径。B 站是我们的 OpenResty XRay 产品的商业客户。
文中提到的 Lua 火焰图就是 OpenResty XRay 在 B 站生产服务器上采样有问题的 OpenResty 服务进程得到的。生成火焰图也就花了几分钟的时间,因为使用 100% 非侵入的动态追踪技术,并不需要对 B 站的进程进行任何修改。根据 Lua 火焰图最终确认根源问题是 B 站的业务往 Redis 服务器里写入了个字符串类型的权重 0 值的坏数据(即 "0"),而 Lua 代码期望的是数值类型的权重值,从而导致了无限递归和无限循环。文中提到的 LuaJIT 的 JIT 编译器的问题其实并不存在;JIT 编译器在这里并没有 bug。
感谢 Bilibili 对我们公司产品和技术的信任和支持!当然,B 站线上系统使用的也是我们的开源 OpenResty 软件。OpenResty XRay 产品主页:https://openresty.com.cn/cn/xray/
文中提到的 Lua 火焰图就是 OpenResty XRay 在 B 站生产服务器上采样有问题的 OpenResty 服务进程得到的。生成火焰图也就花了几分钟的时间,因为使用 100% 非侵入的动态追踪技术,并不需要对 B 站的进程进行任何修改。根据 Lua 火焰图最终确认根源问题是 B 站的业务往 Redis 服务器里写入了个字符串类型的权重 0 值的坏数据(即 "0"),而 Lua 代码期望的是数值类型的权重值,从而导致了无限递归和无限循环。文中提到的 LuaJIT 的 JIT 编译器的问题其实并不存在;JIT 编译器在这里并没有 bug。
感谢 Bilibili 对我们公司产品和技术的信任和支持!当然,B 站线上系统使用的也是我们的开源 OpenResty 软件。OpenResty XRay 产品主页:https://openresty.com.cn/cn/xray/