cache驻留时间(六、大文件)

21 Nov 2009 Posted in  CDN

话说上回提到大文件下载,公司除了apache以外,有些也是用squid做的。这回说说这方面的设置。 下载业务,首先要注意到的,第一是多线程,第二是断点续传。 继续阅读……


cache驻留时间(三、Expires/Cache-Control)

20 Nov 2009 Posted in  CDN

在谈cache的时候插入了上一篇回忆正则表达式的内容,是因为最近一个客户的古怪要求“url以/结尾或文件夹结尾的不能缓存”。 继续阅读……


awk单行实践

19 Nov 2009 Posted in  bash

客户提交一份预加载文件列表,采用了如下格式: http://www.a.com/a/b/ a b c d e f g h i j k l m n http://www.b.com/b/c/ o p q r s t u v w x y z http://www.c.com/d/e http://www.d.com/f/g 必须要把文件整理成完整的url,才好操作。 最初的设想,是以带http开头的行为RS,以n为OFS,然后打印RS $0。随后发现这个想法问题多多——最主要的一点是:直接print $0的话,输出结果是不显示OFS的。 然后我才想到用for循环打印所有列的话,默认就已经分行了,不用定义OFS和ORS。 剩下的问题就是RS,然而不管我怎么写正则匹配表达式,结果都搞不定……唉 最后只能放弃这个想法,采用比较繁琐的办法: 继续阅读……


正则表达式

19 Nov 2009 Posted in 

系统整理一下正则表达式: “.”匹配除了”n”以外的任一字符; “”匹配前一字符任意次;【“.”匹配任意个字符】 “^”匹配行首; “$”匹配行尾;【“^$”匹配空行】 “[ ]”匹配其中某个字符;【“[^ ]”匹配此外任一字符】 “”匹配单词边界,即完整单词; “?”匹配前一字符0或1次; “+”匹配前一字符非0次;【可能要用转义一下】 “{ }”匹配次数; 继续阅读……


cache驻留时间(二、LM-factor算法)

19 Nov 2009 Posted in  CDN

好吧,满足某人的好奇,花开两朵,各表一枝了。 今天又看到关于LM-factor的另一种说法,特摘录如下: 上面这张图来自于《Squid.Definitive.Guide》第七章,对squid的LM-factor算法作出了一个很直观的描述。 请注意这张图的起始时间坐标:Last-Modified,这个是由squid读取的原始web数据所规定的。 然后就是Date,这个是原始数据进入squid的缓冲的时间。 最后就是Expires,这个就是原始数据在squid中的缓冲过期时间。 可以很容易的得出结论,对于LM-factor算法来说,原始数据在squid中的缓冲时间为 (原始数据进入squid的缓冲的时间-原始web数据所规定的Last-Modified时间)percent 所以,我们可以郑重得出结论,在squid的refresh_pattern设置中,percent与Min、Max两个值是完全没有关系! 最后总结一下,对于squid来说,缓冲的数据在cache中的存活时间是这样决定的: 如果有定义refresh_pattern:只要满足以下两个条件之一,缓冲对象过期 缓冲对象在squid的cache缓冲的时间大于refresh_pattern定义的max 缓冲对象在squid的cache缓冲的时间大于(原始数据进入squid的缓冲的时间-原始web数据所规定的Last-Modified时间)percent 用编程语言来描述,就是 if ((CURRENT_DATE-DATE) elif ((CURRENT_DATE-DATE)/(DATE-LM_DATE) elif ((CURRENT_DATE-DATE)>max){STABLE} else{STABLE} 继续阅读……


cache驻留时间(一、refresh_pattern)

18 Nov 2009 Posted in  CDN

上一篇举了个缓存时间的事故,现在说说普通情况下影响这个的配置: 继续阅读……


游戏CDN加速猜想

18 Nov 2009 Posted in  CDN

没事去国内几个主要的CDN商网站看了看各个的CDN产品说明和解决方案,基本上大同小异(其实连小异我都没怎么找到)。唯一让我惊讶的是蓝汛Chinacache——蓝汛在自己网站上写着“游戏应用加速”,内容如下: 继续阅读……


squid一次诡异事故

18 Nov 2009 Posted in  squid

前几天出了一次诡异的事情。某客户在半夜2点钟更新了其网站的内容后,按照刷新规则,squid应该在15分钟内也更新成新内容的。但实际情况却是新网页一刷新没准就变成旧的,一直到5点左右这种现象才算是消失了。 继续阅读……


squid的一点小问题

17 Nov 2009 Posted in  squid

网站运行,出错是必然的。squid提供了一整套多国语言的错误信息页面,放在share/errors/目录下。 但是,让人很尴尬的一点是:squid默认的english错误页面中,居然会公开显示客户源站的IP地址。而有一部分客户,用CDN的目的之一就是要用CDN来分担攻击流量,保护自己。这下可好。生生给暴露出去了。 而附带的简体中文页面中,刚好就没这个信息。真不知道是在讽刺国人攻击性太强,心理太黑暗了么…… 不管怎么说,得把这个改掉。最简单的办法,修改english页面,删除掉ERR_CONNECT_FAIL里那个关键的信息。关键的就是下面这一段: 继续阅读……


squid的SSL配置

16 Nov 2009 Posted in  squid

公司新进客户,要求加速它的论坛,比较奇怪的是,整个论坛居然都是https协议的网页。所以得做443端口的配置。 如果只是端口,一个https_port 443就够了。麻烦的地方在证书(之前就有客户死活不肯给证书,于是只能给做个端口转发,顶天了算是路由优化,何苦往CDN里投钱……)。 在拿到证书后,squid.conf里添加这么一句,SSL配置就算是完成了。但测试的时候问题可就多多了 继续阅读……


squid防盗链配置

14 Nov 2009 Posted in  squid

做网站的,谁愿意自己辛辛苦苦的成果就被别人轻松转载,如果是文字的,一般也就禁鼠标右键,再没什么好办法(当然,名人好打官司另说),但如果是图片,影音的文件,大可以利用http协议的header信息进行控制,这就是大多数web服务器日志要记录的referer。 公司新进一测试客户,就要求CDN方配合做防盗链。 继续阅读……


awk变量(三续)

12 Nov 2009 Posted in  bash

网上闲逛,偶然看到一句统计TCP连接数的命令如右:netstat -n awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

要统计TCP连接数,其实用上wc命令,倒不甚难。不过为了熟悉NF的用途,便细细试试这条吧。 先看试验中netstat -n的结果: 继续阅读……


正则表达式一例

12 Nov 2009 Posted in  squid

前篇只记录了一些正则表达式,没有例子来说明。今天说个简单的例子。 继续阅读……


shell技巧——getopts

04 Nov 2009 Posted in  bash

在写sh脚本的时候,常常需要运行时输入一些数据。之前已经知道用基本的$*,执行的情况,大概就是$0 $1 $2 $3…… 那么,那些系统命令里的参数又是怎么做出来的呢?我们自己的脚本如何搞出来$0-$1的效果呢?这就是getopts的作用了。举例如下: 继续阅读……


分布式shell程序

04 Nov 2009 Posted in  linux

除了用expect+for循环以外,今天偶然看到分布式shell这个概念。随手百度一些资料,放到这里,等过段时间试试~~ 继续阅读……


awk变量(再续)

04 Nov 2009 Posted in  bash

在squid自动配置脚本里,用到了sed的/r把一个文件的内容插入另一个文件。今天看到awk对两个文件的处理方法,要通过不少运算,不怎么方便。不过作为加深对NR和FNR的不同的理解,还是有些作用。 先说下NR和FNR的不同。 在一次awk中,NR是从头计算到尾的,而FNR是每打开一个文件,就重新计算: 继续阅读……


awk变量(续)

04 Nov 2009 Posted in  bash

上回用的是-F(其实如果标准化一点,在BEGIN{}里还可以区分成输入输出的FS和OFS)、NR(当前行数)、NF(当前域数)和$0(当前行全部内容),如果是一般的处理,这些差不多也就够了。 继续阅读……


awk内置函数

04 Nov 2009 Posted in  bash

前几篇说awk变量,今天说函数。 继续阅读……


让进程在后台可靠运行的几种方法(转)

03 Nov 2009 Posted in  bash

  • nohup nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下nohup 的帮助信息: NOHUP(1) User Commands NOHUP(1) NAME nohup - run a command immune to hangups, with output to a non-tty SYNOPSIS nohup COMMAND [ARG]… nohup OPTION DESCRIPTION Run COMMAND, ignoring hangup signals. –help display this help and exit –version output version information and exit 可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到nohup.out文件中。一般我们可在结尾加上”&”来将命令同时放入后台运行,也可用”> filename 2>&1”来更改缺省的重定向文件名。

** nohup 示例 继续阅读……


Linux命令行系统性能检测工具(转)

03 Nov 2009 Posted in  linux

※注:下面附图的命令输出信息,以红旗DC Server 5.0 for x86 Sp1为基础平台,可能在不同的操作系统或核心版本有较大区别,对比时请留意。 继续阅读……


fuser命令(转)

03 Nov 2009 Posted in  bash

fuser:使用文件或者套节字来表示识别进程。我常用的他的两个功能:查看我需要的进程和我要杀死我查到的进程。 继续阅读……


dd命令使用详解(转)

03 Nov 2009 Posted in  bash

  1. 命令简介

dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m 继续阅读……


curl使用简单介绍(转)

03 Nov 2009 Posted in  bash

原文地址: http://www.linuxidc.com/Linux/2008-01/10891p2.htm Curl是Linux下一个很强大的http命令行工具,其功能十分强大。 继续阅读……


awk调用shell变量

03 Nov 2009 Posted in  bash

今天的问题:因为某个原因,需要长期探测对某机器的ping值情况。期望的输出格式是“丢包率 响应时间均值”。 继续阅读……


squid压力测试

03 Nov 2009 Posted in  testing

向公司申请了台设备做测试机,打算把公司各种应用服务都自己练练,熟悉一下。先从最传统的squid开始做压力测试。先发一个小东东http_load的测试: 继续阅读……