Posts

ESTABLISHED,TIME-WAIT与网络流量的关系

ESTABLISHED,TIME-WAIT与网络流量的关系 之前有同事看了有2个监控图,然后就问我为什么tcp的连接数基本没有变化,但是网卡的数据流量增加了不少? 这个其实比较好分析,应用系统和前端的LB之间实际是keepalive的持久连接。当单个应用服务器上请求量不是太的时候,应用服务器上看到的连接数和用户的请求量其实不是一个线性的关系,维持的连接数多少,主要看前端LB设置的保留多少个空闲连 …

DNS放大攻击

DNS放大攻击 近来比较火的一个问题就是DNS放大攻击,详细的介绍可以参考http://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack。cloudflare被攻击的流量超过20G。这个攻击思路其实和smurf攻击类似。smurf攻击是对一个子网的广播地址发起一个伪造IP源的ICMP包,这样这个子网的所有机器都 …

openwrt上安装tcpdump抓包

openwrt上安装tcpdump抓包 其实在DB120之类的路由器上装tcpdump什么的非常简单,有16M的ROM基本随便装自己想玩的东西。但是对于只有4M ROM的tp-link 740来说就比较麻烦了。一方面是ROM比较小,另外一方面是要想保存数据的话可以用nc之类的同步传输数据。我是直接选中tcpdump和nfs客户端。这样可以直接远程挂载,把抓包的文件直接放远程服务器上,方便后期的分 …

nginx的dns ttl问题

nginx的dns ttl问题 今天遇到了一个和dns ttl相关的问题。线上一个nginx服务器代理了一些外部的资源,把外部的http的资源变成https的供我们自己的https页面上用。 但是今天看到了有很多错误日志,显示的是连upstream的机器失败了。我看了一下配置文件,直接在nginx服务器上访问配置的url是正常访问的。再在nginx服务器上解析了一下对应的IP,发现和错误日志里显示 …

也说说LVS模式的选择

也说说LVS模式的选择 前几天看论坛上有人问LVS几种模式的选择问题,简单地回复了一下。觉得很多做运维的新人都对这个选择存在疑惑,就单独写写。 LVS主要是DR,TUN,NAT和淘宝的FULLNAT模式,对于绝大部分人而言只能选择原版内核支持的前三种。 1.DR模式 DR模式是效率最高的一种,对于每个请求LVS把目的mac改成从RS中选择的机器的mac,再将修改后的数据帧在与服务器组的局域网上发 …

blog设置缓存后遇到的问题

blog设置缓存后遇到的问题 上周把blog开启了cache php结果后,主要是为了解决假想的一种短时间内请求过大php-fpm性能跟不上的问题。但是今天发现了一个比较奇怪的问题,就是打开的blog首页的时候页面是空白的。然后想起这个可能是和我针对dnspod的监控有特殊配置的原因。因为dnspod的访问比较频繁,所以我设置了直接返回200的特殊配置,避免无谓消耗机器的性能。 42 …

使用Graphviz做有向图

使用Graphviz做有向图 http://www.graphviz.org/是一个比较简单的画图程序,之前看别人用这个自动画图生成上百个系统的依赖关系觉得挺玄乎的。今天照着http://www.ibm.com/developerworks/cn/aix/library/au-aix-graphviz/ 简单学习了一下。 digraph G{ A->B; E …

VPS iptables配置

VPS iptables配置 使用VPS的时候肯定也会考虑到安全上的问题,简单配置一下iptables。直接贴一下我自己写的2个设置脚本。 首先得写一个清理规则、重置默认策略的脚本放crontab里面,以免自己设置错了策略造成自己不能登录。 cleanrules.sh #!/bin/bash source /etc/profile DIR=$(dirname $0) …

blog缓存设置

blog缓存设置 动态的内容往往性能都非常差,所以一般的nginx+fastcgi的模式下性能肯定都是卡在后面cgi上。尤其是小内存的VPS上的一些配置使得mysql的速度也非常慢,所以这样的情况就很明显了。 上图就是随便压测一下,QPS非常低,但是php-fpm就把CPU都耗完了。 所可以考虑直接在fastcgi里做一下cache,这样如果某篇文章的访问量比较大的时候(目前我的blog还没有这样 …

limit_req引发的访问速度慢

limit_req引发的访问速度慢 之前是考虑到安全上的问题,所以简单地设置了一下limit_req,但是设置的太死了,限制了每秒3个请求。今天突然意识到这个可能是之前blog速度慢的元凶。 直接看来一下一个页面了需要请求的元素大概有接近20个。赶紧把原来的 limit_req_zone $binary_remote_addr zone=gnuers:10m rate=3r/s; 修改了一下,放宽 …