直接操作xen虚拟机镜像的办法

26 Jan 2011 Posted in  cloud

一台xen虚拟机,root密码忘记了,必须进入single模式修改root密码。步骤很熟练,xm shutdown domain && xm create -c domain——但是出问题了——没出现grub的启动界面,直接进入系统启动过程了! 继续阅读……


图片分离小故障一例

20 Jan 2011 Posted in  linux

有需求对某应用的图片和页面内容进行拆分。计划进行的很顺利,存储设备上成功分成了/vol/html和/vol/image,然后分别挂载在应用服务器上发布为html.domain.com和image.domain.com。但在恢复应用运行后出现一个问题:新图片的上传总是提示失败。 继续阅读……


awk的效率

20 Jan 2011 Posted in  bash

偶然和某人谈到日志处理。最简单常见的需求,日志中访问量最大的前十个IP及其访问次数。 继续阅读……


读《基于动态内容的缓存加速技术》笔记

13 Jan 2011 Posted in  CDN

《程序员》2010年11月刊的86-89四页,刊登了F5售前技术顾问,原VIACDN(TOM的CDN部门,后来独立运营)架构师徐超的文章《基于动态内容的缓存加速技术——F5 Web Accelerator产品技术剖析》。 继续阅读……


resin-status

12 Jan 2011 Posted in  monitor

和apache、nginx一样,resin也自带了一个比较简易的status模块,只需要在resin.conf里配置就行了。在里添加如下一段: 继续阅读……


HTTP的auth请求模拟

11 Jan 2011 Posted in  web

开发同事需要在程序中调用一个“安全级别比较高”的url,起初没觉得有啥问题,我们wget或者curl的时候,按照标准url的格式(即’请求方法://用户名:密码@域名/文件路径’)写就完全OK了。不过很快同事转来了报错: 继续阅读……


mysqlreport指南

10 Jan 2011 Posted in  database

mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大的帮助。找了一些mysql的资料,发现大多数是关于php+mysql开发的,服务配置基本就是固定的几条。干脆找上mysqlreport的官网,啃下来这篇指南。翻译都是随着我个人的语言习惯,对直接能用mysql命令上看到结果的英文则保留下来。方便以后查找: 继续阅读……


日志计算(awk进阶)

07 Jan 2011 Posted in  bash

曾经用awk写过一个日志流量计算的单行命令。因为awk中没有sort函数,所以在中途采用了 sort 的方式,导致效率很低。在计算50GB+的日志时,运算时间慢的不可忍受。

设想了很多方法来加快运算,比如舍弃awk改用perl来完成,如下:
perl#!/usr/bin/perl use warnings; use strict; my $access_log = $ARGV[0]; my $log_pattern = qr'^.*?:(\d\d:\d\d):(\S+\s){5}\d+\s(\d+).+'; my %flow; my ($traffic, $result) = (0, 0); open FH,"< $access_log" or die "Cannot open access_log"; while (defined(my $log = <FH>)) {     $flow{$1} += $3 if $log =~ /$log_pattern/;    #print $1." ".$3." ".$flow{$1} * 8 / 300 / 1024 / 1024,"\n"; } close FH; foreach my $key ( sort keys %flow ) {     my $minute = $1 if $key =~ /\d\d:\d(\d)/;     $traffic += $flow{$key};     if ( $minute == '0' or $minute == '5' ) {         $result = $traffic if $traffic > $result;         $traffic = '0';     } } print $result * 8 / 300 / 1024 / 1024;
好吧,这个正则太过垃圾,请无视,但至少在管道和系统sort上浪费的时间还是大大的节省了的。 继续阅读……


resin与ipv6

30 Dec 2010 Posted in  web

一台nginx+resin的应用服务器出现大量的ipv6下的CLOSE_WAIT。重启后十五分钟就累积到了1500+。 继续阅读……


TCP响应时间监测

28 Dec 2010 Posted in  monitor

对于squid等服务器,其日志中就含有响应时间。但是,这个时间只是服务器软件处理过程的时间,进程一旦交出去,在网卡等处的时间,它就管不着了。而percona出品一款迷你型小工具,叫做tcprstat,正好派上用场~ 继续阅读……


ims在nginx上的处理(无责任猜测)

23 Dec 2010 Posted in  nginx

最近得知CDN方面默认配置了reload-into-ims,而我们的html因为采用了ssi的include方式的原因,是没有last-modified的。在这种情况下的处理结果,让人好奇~ 继续阅读……


wget和curl测试时的小区别

23 Dec 2010 Posted in  linux

在对网站内容是否更新进行测试时,最常用的两个工具就是wget和curl。不过两个工具之间还是有一些小区别,甚至很可能影响到测试结论的。记录一下: 继续阅读……


通过snmp协议监控NetApp

22 Dec 2010 Posted in  monitor

NetApp作为专业存储,用起来还是比较让人放心的,不过放心不代表放手不管,一些重要的监控还是要做的。比如基本的CPU负载、网卡流量、磁盘使用率,作为数据存储特别关注的IOPS、DiskIO(因为有cache的原因,所以NetIO和DiskIO是不同时的,单从网卡进出不能判定磁盘的真实读写)。 继续阅读……


for/while循环的区别

16 Dec 2010 Posted in  bash

一般习惯使用for循环,在一年前写cgi的时候,还为这郁闷过一阵:for i in cat ip时,会自动的把文件中每行内容按照空格分割传递,最后采用先把空格改成+号的方式解决。 继续阅读……


weathermap-cacti-plugin学习(3)

12 Dec 2010 Posted in  monitor

今天继续啃weathermap的php代码,因为lib的readdata里return了$inbw和$outbw,尝试在之前理解的ReadConfig()相应match处加上了一段 if($inbw=='0'){$this->width=0;$linematched++;}elseif……等几分钟后cache过期,一看weathermap效果,所有的链路曲线箭头图都变成了一根直线~~然后仔细看了看这串if之前的while,发现原来weathermap不是每次针对数据进行config匹配,而是统一读取一次config。也就是说ReadConfig()里的任何修改都会对全局起作用。 继续阅读……


从猫扑论坛看终极页的缓存控制

12 Dec 2010 Posted in  CDN

GF找我要猫扑账号,只好去申请了一个,顺带着之前分析天涯的劲头,把猫扑也看看~ 继续阅读……


xen的dom0内存设置

10 Dec 2010 Posted in  cloud

公司测试环境使用了xen来提供大批逻辑隔离的服务器供内部调测使用。随着应用系统和同事人数的增加,虚拟机数量越来越多,原先每台server开两三个vm已经吃紧,遂要增加新的vm。cp相应的img后,启动却失败了。 继续阅读……


从天涯论坛看终极页的缓存控制

10 Dec 2010 Posted in  CDN

一般不太上天涯论坛灌水或者潜水,不过经常去天涯SA刘天斯的blog上逛逛~在他开源memlink后,想起来去天涯看看前端设计,发现其论坛主列表页采用nginx发布(预计有nginx的module直接读取memlink),终极页前端采用varnish缓存,回复时的动态asp页面由IIS处理。但在终极页上,虽然显示的server也还是IIS,我却有一定的怀疑~ 继续阅读……


flash绘图利器-amcharts

10 Dec 2010 Posted in  web

作为SA最常用的绘图工具肯定是rrdtool;而coder最常用的肯定是gd;前段时间从ibm文库里学到一个同样很强大的函数绘图工具gnuplot;最近在技术群里又见识到一些更新奇小巧的绘图工具,记录一下~ 继续阅读……


nagios的add-ons安装小抄~

04 Dec 2010 Posted in  monitor

给nagios安装几个add-ons,碰到一些一般安装教程上不会提及的问题,记录一下: 继续阅读……


keepalived故障一例

03 Dec 2010 Posted in  linux

一组lvs,以keepalived主从方式运行。今天早上突然收到VIP报警,所有的VIP都ping不通了。 继续阅读……


weathermap-cacti-plugin学习(2)

26 Nov 2010 Posted in  monitor

在Weathermap.class.php中,定义了一个function叫LoadPlugins,读取lib/datasources/下的php类。其中就有WeatherMapDataSource_rrd.php。其中定义了Init、Recognise和ReadData三个方法。明显是ReadData函数来读取rra数据,具体方法为调用管道,运行rrdtool命令。 继续阅读……


inotify-purge后续分析

25 Nov 2010 Posted in  linux

在选定sersync2进行command方式刷新后,需要对诸多域名的更新频率做个简单的分析,以了解编辑的操作习惯,方便选定调整时间、确定文件过期时间等等。 继续阅读……


weathermap-cacti-plugin学习(1)

24 Nov 2010 Posted in  monitor

weathermap是一个利用php的gd库画图的程序,它可以自主运行,但更多情况下是作为cacti等监控工具的插件,通过rra数据库获取数据完成绘图。其官网地址如右:http://www.network-weathermap.com 继续阅读……


ftp中的软连接问题

22 Nov 2010 Posted in  linux

数据临时迁移,为了尽量不影响业务,创建了一个软连接。不料pureftpd出了一点小问题。 继续阅读……