tcp 长连接保活注意点

tcp 长连接一直是提升系统性能的重要手段. 不过在复杂网络或者请求很少的时候, 也会通过保活等方式维持连接的建立. 保活可以用来探测连接, 进而可能释放掉已经无效的连接. 在一些跨网以及含有硬防的网络环境中, 一些网络设置可能默认会 kill 掉长时间空闲的 tcp 会话, 这种情况下 tcp 连接的保活就显得更为重要. 本文则记录了 tcp 连接保活的几点事项. 保活的方式 问题汇总 参考 保活的方式 通常包含系统层和应用层两种保活方式. 系统层 系统层主要是...

haproxy 使用及问题汇总

早期文章在云中使用 proxy protocol 中, 我们介绍了 haproxy 在云环境中的一些使用案例, 同时也包括一些 proxy protocol 使用, acl 规则限制等注意事项. 本文则主要介绍使用 haproxy 时常见的一些问题, 后期碰到的问题也会在本文中持续更新. 问题列表 haproxy 重复启动问题 max open file 受限问题 supervisord...

rclone 工具使用及问题汇总

rclone 作为文件和对象存储的管理工具, 经过近些年的发展已经完好的支持各种存储协议, 比如 HDFS, FTP, SFTP, GCS 和 S3(兼容 aws, 金山云, 腾讯云, 阿里云等)等, 逐渐有统一管理云存储之势, 从 rclone-github 来看, 各大云厂商也逐渐将各自的存储协议合并到了 rclone 中. 这在对象存储统一管理, 尤其是多云管理的场景中带来了很大的便利, 也便于我们实现诸如统一运维管理的目标. 同时,...

systemtap 工具集介绍

在文章Linux 系统动态追踪技术介绍中, 我们提到了 systemtap 相关的技术. systemtap 在 Linux 系统排错方面一直占据着很重要的角色, 其提供了很成熟的调试符号及复杂的探针处理程序, 可以在系统调用, 用户空间及内核空间几个方面实现细粒度的跟踪分析, 更详细的介绍可以参考 dynamic-tracing. systemtap-toolkit 工具集则是在此基础上,搜集并整理的一些常用的分析工具, 方便对 Linux 系统中一些疑难问题的跟踪处理. 下面的工具列表部分来源于网络, 进行了简单修改以支持 staprun 方式运行时可以指定额外的参数. 具体见参考部分. 工具列表...

不同级别的延迟估算

Order-of-Magnitude Estimates read more from «Understanding Software Dynamics», Chapter 1, section 6. The phrase order of magnitude refers to an approximate measure of the size...

如何审计 ssh 会话操作

目前从命令行终端操作方面, 主要可以通过以下两种方式记录 ssh 会话的操作, 不过这些方式都存在固有的缺点, 难以达到审计的目的. 如下所示: 1. 终端工具日志 这种方式主要依赖终端工具(比如 securecrt, iterm2) 的日志功能, 其可以记录会话的内容并保存到本地机器的文件中. 不过这种方式强依赖使用者的自觉性, 比较严重的情况下, 一些使用者可能删掉本地日志来掩盖自身失误的操作记录. 2. snoopy 记录 snoopy 通过封装 exec, execve 系统调用来记录所有的历史操作,...

macos 技巧汇总

最近用 macbook pro 办公之后, 碰到了很多使用上的问题. 本文主要用来整理并记录这些问题. 问题列表 常用的效率工具 chrome 浏览器不能处理 https 页面 锁屏后 ssh 连接中断 wireshark 不能使用 常用的效率工具 dash: 文档阅读工具, 技术工作者的首选文档工具. 滴答清单: 好用的任务管理工具. iTerm2: 好用的终端命令行工具....

Linux 系统设置 DNS 注意事项

在文章Linux 系统如何处理名称解析中, 提到了 Linux 系统处理域名解析的流程. 实际上出于性能相关的原因, 不同编程语言或框架对 DNS 的解析可能做了不同程度的封装. 典型的, 比如 JDK 在没有开启安全管理(默认)的情况下, 会对 DNS 的解析条目缓存 30 秒. 又比如 libevent 提供了阻塞和非阻塞两种处理 DNS 请求的方式, 自由度更高. 这些设计方面的差异,...

MySQL 命令无法输入中文问题处理

近期通过 mysql 命令连接 mysql server 的时候, 出现了不能输入中文的现象, 如下所示, 在交互模式中输入 SELECT '<汉字>' 后, 出现以下情况: mysql> SELECT '<>'; +----+ | <> | +----+ | <> | +----+...

pika 使用及问题汇总

对于 redis 而言, 数据越多就意味着需要更多的内存, 不管是升级单实例的配置还是扩展其为集群方式, 成本都是我们需要考虑的因素. 实际上, 大多数的业务可能只是数据量大, 访问量反倒不高. 在这种场景下, pika 可以作为 redis 的一种有效补充. 下述的问题列表则主要介绍在使用 pika 的过程中可能碰到的问题. 一些问题可能会随着 pika 的版本迭代而修复, 更多的可以关注 pika-issue 列表来确定具体问题的解决方式. 问题列表 指令集不兼容...