星期二, 11月 29, 2005

FreeBSD 6.0

上個禮拜系計中三樓機房開會時,談到將部分工作站換成 FreeBSD 6.0 的可行性,我就向總管借了兩台機器 (ccbsd6 與 ccbsd7),在公告停機升級後,打算把整台機器重新安裝。

選這兩台主機的原因是因為前面的 ccbsd1 ~ ccbsd3 用的人都還蠻多的,而 ccbsd5 是 qkmj Server,再後面的 ccbsd8 ~ ccbsd10 是學生的 WWW Server,ccbsd11 與 ccbsd12 是 AMD64 (目前是跑 FreeBSD 5.4),所以從中間抽兩台 :p

但是安裝前發現 ccbsd6 是 Gopher Server,於是暫時決定不要動這台,只重新安裝了 ccbsd7。ccbsd7 不快 (開機時顯示的是 AMD Duron(tm) processor (853.51-MHz 686-class CPU)),不過還好,上面用的人本來就不多,可以慢慢裝。

以前 ccbsd* 維持軟體更新都是透過 rsync/usr/local 整個複製過去 (...),於是 /var/db/pkg 下都是空的,而且有些軟體會因為沒有對應的 uid/gid 或是目錄而有問題。所以這次重新規劃的時候就決定用 packages 的方式建立,一方面可以知道這台機器上的到底是跑哪個版本,另外一方面則可以透過 packages 建立好相關的環境。

再來就是文件的問題,之前留下來的文件就是教你透過 rsync 直接複製整個 /etc 或其他需要設定的檔案 (gosh!),而且之前的 CMS 沒有搜尋的功能 (大家最後都是跑到目錄下用 grep 找 -_-),趁著 Wiki 有個樣子,把文件丟上去...

星期六, 11月 26, 2005

Squid 3 的設定

Squid 3 網站上的 20051125 版 是有問題的,後來透過 cvs 抓到的版本就 okay 了。本來是要在 www.cs.nctu.edu.tw 上面測試的,後來被提醒 11/25 碩班甄試放榜,那我們就換回舊的版本了。

我後來在 netnews.nctu.edu.tw 上面架了一個,bind 在 127.0.0.1:3128 上面給自己用 (putty tunnel,3128:127.0.0.1:3128,然後把我 Laptop 與 Desktop 的 Firefox 都設定 127.0.0.1:3128 為 Proxy Server),因為 netnews.nctu.edu.tw 是 FreeBSD 6.0,所以我在安裝的時候特地把 Thread 有關的選項打開 (像是 aufs),先測看看 stability 如何,晚點再來測試看看 performance。

這是我 compile 時的參數:
--prefix=/home/squid --enable-storeio="ufs aufs diskd" --enable-disk-io="Blocking" --enable-removal-policies="heap lru" --disable-wccp --enable-cache-digests --disable-poll --disable-select --enable-kqueue --disable-epoll --disable-ident-lookups --enable-underscores --disable-unlinkd --enable-x-accelerator-vary --with-aufs-threads=8 --with-pthreads --with-aio
會同時把這麼多東西 compile 進去主要是要測試各種 algorithm 的效能,實際在跑的時候可能會再拔掉一些 :p

星期五, 11月 25, 2005

調整 Reverse Proxy 的 Performance

早上想測試看看 www.cs.nctu.edu.tw 的 Reverse Proxy,就把某些東西導過去測試了,跟 ericlin 測試了一下,馬上就發現了一些問題:
  1. Squid 的實際吃的記憶體量大約是 cache_mem 所設定的兩倍多,如果 FreeBSD kernel 沒有調整過,則單一 Process 可使用記憶體最大上限應該是 512MB。
  2. Squid 2.x 只支援 select()poll() 這類 Function,在 3.0 才有支援 kqueue(),這可能是造成 Squid 使用大量的 CPU resource 的原因。
ericlin 先調整了 FreeBSD kernel,看起來穩定了點。可能等晚點會測試看看 Squid 3.0。

星期一, 11月 21, 2005

PostgreSQL

第一篇,先講些之前跟 hlb 討論的東西。

我知道 MySQLDual License (即 Commerical License 與 GPL),但我後來才發現原來只要包在產品裡面賣的時候,就必須連同 source code 一起給出去。

於是 hlb 就開始研究 PostgreSQL :p