Entries Tagged as ''

squid对同一个文件怎么会这么多的MISS呀

这两天碰到一个比较怪异的问题

在流量比较大的时候(8、9十兆)

squid对系统一个非常重要也访问量非常大的文件MISS的非常多

流量小一点的时候看起来貌似要正常很多(很多的HIT)

这个xml文件有1xxk之大

而且在apache里设定了expire为access后10分钟

但是访问量一大

access_log里就大段大段的报”TCP_MISS/200″

然后real server也发现流量剧增

环境:

linux2.6 + squid2.5stable14

real server: httpd 2.0.x

安装编译squid2.5stable14的脚本

工作需要,接触了些squid的东西

以下的安装、编译方式适用于反向加速模式

ulimit -HSn 65536

这里是增大file descriptors(缺省是1024,太小了)

export CFLAGS=’-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2′

export这个环境变量是为了在make的时候

1,打开大文件支持(支持存取>2G的文件);

2,针对p4的cpu做优化

[Read more →]

Temporary Post Used For Style Detection (cd9b5e2a-34f5-43e5-aa4f-024cecf01b72)

This is a temporary post that was not deleted. Please delete this manually. (ddf2733a-e89e-4ed2-8ce7-4612c831eb9d)

proftpd实现虚拟用户和quota(不用数据库)

cd /tmp

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1rc2.tar.bz2

tar xjvf proftpd-1.3.1rc2.tar.bz2

cd proftpd-1.3.1rc2

./configure –with-modules=mod_quotatab:mod_quotatab_file

make

cp contrib/ftpasswd /usr/local/bin/

cp contrib/ftpquota /usr/local/bin/

make install

这里上面提到的proftpd-1.3.1rc2是当前的最新版,但不是最新的稳定版,为什么要用这个版本呢

这是因为有个重要的参数(QuotaOptions ScanOnLogin)只到1.3.1才开始支持

而最新的稳定版是1.3.0a

[Read more →]

squid的日志分析

有台squid的某一天的日志需要分析

于是我把log当到某台闲一点的机器上

然后google一把

看见都说用什么sarg(Squid Analysis Report Generator)分析squid的log

于是我下了个sarg

第一次,在我的桌面pc上跑

结果把我的机器跑死了

第二次,在服务器上跑

由于没有用”-w“参数指定临时目录

缺省用/tmp做临时目录

但是/tmp区只有2G大小

而log有5个多G

于是又失败了

第三遍

找了个大目录用”-w“参数指定来跑

还开了个screen,还加了”-e“参数,让跑完直接把结果发到信箱

还加了”-x“这个debug参数

看见系统在跑的百分比不断地增加

心里比较有成就感

感觉这次应该差不多了吧

晚上在家上网一查信,居然没有?

再上机器一看

原来又失败了。

这回是这个错:”Too many links.

是由于系统在”-w“参数指定的临时文件目录下的sarg目录下建的目录超过了30000个造成的

这个可不好调,要调的话需要重编kernel

而且一个目录下的文件数太大了也会严重影响性能

我想为什么sarg就这么傻呢

要建的目录太多就别放到一个sarg下,放到sarg1、sarg2……好不好

或者支持指定几个临时文件目录也行啊

第四遍

我终于还是装了个传说中的webalizer

跑的时候把logtype设为squid

结果跑的时候全都是:“Error: Skipping record (bad date)

而且全都是1970年的什么时间

到最后是一条合格的纪录都没有

显然又失败了

我想可能是因为虽然是squid的log

但这个log是打开了emulate_httpd_log的log

而按照webalizer文档

只有squid native的log才要把logtype设为squid

于是把logtype改成缺省的clf

再开始跑第五遍

……

到发稿时为止

第五遍尚未跑完

却发现了一个问题

系统在不断地反解ip到域名

查了下文档

好像这个是在编译的时候设定的

我晕

我的webalizer是rpm装的……

先跑着吧

……

fc3下实现php连sql server2000

需求推动

要求在一台fc3(fedora core 3)的机器上使php(4.x)能够连sql server2000的数据库

apt-get install php-odbc unixODBC-devel unixODBC

或者是

yum install php-odbc unixODBC-devel unixODBC

然后再从这里(http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz)当下freetds的源码

cd /tmp

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

tar xzvf freetds-stable.tgz

cd freetds-*

./configure –prefix=/usr/local/freetds –with-tdsver=8.0 –with-unixodbc=/usr

(这里因为是连sql server2000,所以用“–with-tdsver=8.0”)

make;make install

vim /usr/local/freetds/etc/tds.driver.template

在文件中插入:

[FreeTDS]
Description = v0.64 with protocol v8.0
Driver = /usr/local/freetds/lib/libtdsodbc.so

(这里的freetds的版本是0.64)

然后安装driver

odbcinst -i -d -f /usr/local/freetds/etc/tds.driver.template

再然后建dsn吧

vim /usr/local/freetds/etc/tds.datasource.template

填写内容:

[MSSQLTestServer]
Driver = FreeTDS
Description = test sample database
Trace = No
Server = 192.168.1.1
Port = 1433
Database = testdb

再接着

odbcinst -i -s -f /usr/local/freetds/etc/tds.datasource.template -l

再重起apache

这会儿php就支持连sql server2000的库了

例程:

从drupal4.7.4换成wordpress2.0.6后好多分类名点击后页面出”404″的错误

分类显示我用的是permalink(永久链接)的形式

但是发现点进去后

有的分类页面能正常显示

但有更多的分类页面出”404″的错误,好像是说没有找到这个分类的文章

但是实际上这个分类的文章库里肯定是有的

而且页面上分类名后面括号里明显也显示着这个分类的文章数,是远大于”0″的

[Read more →]

系统从drupal倒到wordpress了

原来是drupal4.7.4

现在倒成了wordpress2.0.6

感觉原来的drupal太复杂了

还是wordpress简单

在ubuntu里用放幻灯的效果展示目录下的照片做屏保

这个好像叫slideshow

是哈哈每接触一种桌面操作系统都要留意的功能

刚装的桌面ubuntu也不例外

一般来讲在屏保设置里选”GLslideshow” 就行了

但是他缺省是显示壁纸所在的缺省目录:/usr/share/backgrounds这个目录下的图片的

你如果要改一下显示照片的目录怎么办呢

echo “imageDirectory: pathtoyourpictures” >> ~/.xscreensaver即可

备winxp下路径里含中文字符的文件到ubuntu

我有些东西

需要从本本上倒到新装了ubuntu的pc上

开始在winxp下把需要备到ubuntu的整个目录用winrar选zip格式压缩

然后再传到pc上

再用unzip解压缩

解完后发现中文全都不能正常显示

用convmv转换来转换去

总是不行

后来在本本上用winrar用rar格式把要备份的东西压到一个叫xxx.rar的文件里

然后上传到这台机器上

最后在pc(ubuntu)上用rar解压缩

结果发现中文字符都能正确显示了

btw:

我的ubuntu是6.10版本