发布时间:2016-01-08 16:26:51
net.ipv4.tcp_syncookies = 1
在 tcp 建立连接的 3 路握手过程中,当服务端收到最初的 SYN 请求时,会检查应用程序的 syn_backlog 队列是否已满。若已满,通常行为是丢弃此 SYN 包。若未满,会再检查应用程序的 backlog 队列是否已满。若已满并且系统根据历史记录判断该应用程序不会较快消耗连接时,则丢弃此 SYN 包。如果启用 tcp_syncookies 则在检查到 syn_backlog 队列已满时,不丢弃该 SYN 包,而改用 syncookie 技术进行 3 路握手。
警告:使用 syncookie 进行握手时,因为该技术挪用了 tcp_options 字段空间,会强制关闭 tcp 高级流控技术而退化成原始 tcp 模式。此模式会导致封包 丢失时 对端 要等待 MSL 时间来发现丢包事件并重试,以及关闭连接时 TIME_WAIT 状态保持 2MSL 时间。 该技术应该仅用于保护syn_flood 攻击。如果在正常服务器环境中服务器负载较重导致 syn_backlog 和 backlog 队列......【阅读全文】
发布时间:2015-10-25 02:10:25
前些日子,我的同事Qing发现,在我们服务器上PHP代码路径下多了一个log文件,从没注意到有这个log文件,但是log文件的格式明显不是我们生成的,格式比较简单,甚至没有function name,log level,明显是我们使用的某个第三方库的输出。到底是那个进程调用第三方库干的坏事 ? 我们当然是有怀疑对象的,.........【阅读全文】
发布时间:2015-10-25 02:09:42
上一篇博文介绍了如何获取磁盘的基本参数 磁盘序列号,转速,通电时间,温度等等,其实我们更关心的是性能,读写性能。很多开源工具都能测试磁盘性能,iozone,bonnie,bonnie++,fio等等,都是不错的工具,本文介绍bonnie++。 bonnie++,顾名思义也得知道有bonnie的存在。bonnie这个程序存在.........【阅读全文】
发布时间:2015-10-25 02:08:06
如果我们想知道,在一段时间内,那一个磁盘块被读写的频率最高,怎么办? 我问这个问题是看到taobao kernel wiki上面有这么一段话,看了我十分心痒:通过对blktrace的输出结果进行分析,我们可以对特定时间段内发生的读、写操作的磁盘块进行I/O频次统计。结合通过将磁盘块.........【阅读全文】