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 列表来确定具体问题的解决方式. 问题列表 指令集不兼容...

为什么 redis 提示 need enable AOF

有些程序在连接 Redis 的时候可能出于方便的原因会做一些管理性的操作, 比如 bgsave, bgrewriteaof, slaveof 等操作, 这些可能会产生一些意想不到的错误, 比如以下提示信息, 虽然不是致命的错误, 但看起来也很困惑: [95138] 28 Jul 03:18:45.763 # Redis needs to enable the AOF but can't...

nscd 配置示例说明

在文章 Linux 系统如何处理名称解析中我们提到了 nscd 作为 glibc 的组件提供了 dns 缓存的功能, 这篇文章则主要介绍 nscd 的部署和使用注意事项. 如下列表: 测试机器 如何安装 配置说明 性能说明 测试机器 Centos 6/7 Ubuntu 18.04/20.04 Debian 10.6 如何安装...

为什么 tomcat 对请求做了排队

问题说明 近期对 tomcat 一个比较老的版本做了一些长请求的测试, 每个请求会触发 tomcat 做一次 sleep 300 秒的操作: 运行环境: jdk-1.8.0_152 tomcat-6.0.37 tomcat 的 connector 配置: # 开启 ssl <Connector port="443" maxHttpHeaderSize="8192" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="800"...

如何审计 Linux 系统的操作行为

很多时候我们为了安全审计或者故障跟踪排错, 可能会记录分析主机系统的操作行为. 比如在系统中新增了一个用户, 修改了一个文件名, 或者执行了一些命令等等, 理论上记录的越详细, 越有利于审计和排错的目的. 不过过剩的记录也会为分析带来不少麻烦, 尤其是将很多主机的记录行为发送到固定的远程主机中, 数据越多, 分析的成本便越大. 实际上, 绝大多数的系统行为都是重复多余的, 比如 cron 任务计划, 我们信任的程序等, 这些都会产生大量的记录, 但很少用于审计分析. 基于这个需求, 我们在审计系统操作行为的时候, 至少应该添加一些过滤规则, 避免记录过多的无用信息, 比如重复的 cron...

MySQL 及 jdbc 问题汇总

问题列表 存储过程与编码 jdbc 直接执行 sql jdbc useSSL 参数变更 jdbc 通信异常 MySQL 命令无法输入中文问题处理 MySQL 启动很慢 存储过程与编码 MySQL 存储过程中, 表和数据的编码与数据库和存储过程默认的编码不同则可能出现 sql 不会使用索引的情况, 因为 MySQL 会对条件列的数据做相应的编码转换, 比如以下, 表数据为...

发生 SLAB 内存泄漏该怎么办

通常应用程序主要通过类似 malloc 等标准函数来进行内存的分配使用, 不过在 Linux 中, 内核无法使用标准函数, 一般通过 SLAB Allocator 机制来进行内存的分配. 各个子系统, 驱动以及内核模块等都可以通过 SLAB Allocator 机制分配内存, 同时该机制还可以当作缓存来使用, 这点主要是针对经常分配并释放的对象. 从内核 2.6 版本开始, slab 分配器有两个替代分配器: 分配器 用途...

为什么 DISTINCT 返回错误的结果

问题说明 在通过 SELECT DISTINCT 进行查询的时候发现结果一直返回空, 然而通过 SELECT 却能返回正常的结果, 如下所示: -- Server version: 5.6.38-83.0-log Percona Server mysql > select distinct(name) from t_web_column where column_id IN (946390,...