Monthly Archives: August 2008

funp.com 的 DNS 設定

在找 blog 開起來很慢的原因時發現的,全文在這邊:funp.com 的 DNS 設定。 然後我剛剛才知道原來七月過了啊...

Posted in Computer, DNS, Murmuring, Network | Leave a comment

使用 PHP Framework 的效能問題

PHP Framework 裡會大量使用 require_once(),由於需要判斷是否載入過檔案,require_once() 會使用 realpath() 取得檔案實際路徑資訊當作判斷條件,而這點會有效能上的問題。 其他人其實也遇過,參考:PHP Performance tip: require versus require_once,其中 comment 的部份也說明了目前 Google 到的方法是沒有用的。 FreeBSD libc 裡的 realpath(3) 會使用 lstat(2),而 FreeBSD 的 lstat(2) 因為用到 VFS_LOCK_GIANT(9),所以在 FreeBSD 上很多隻 PHP 同時用 realpath() 的時候效能並不好。 在 Linux 的 libc 據說沒這個問題 (我沒有實際去 … Continue reading

Posted in Computer, Murmuring, Network, Programming, Software, WWW | 9 Comments

MySQL and SSD

COSCUP 2008,MySQL and SSD:

Posted in Computer, Database, Hardware, Murmuring, MySQL, Software | Leave a comment

Hash Function

回家打開 Slashdot 就看到大爆點:Adi Shamir (RSA 的 S) 與 Itai Dinur 找到方法把一卡車的 Block cipher 與 Cryptographic hash function 給擺平:New Attack Against Multiple Encryption Functions。 點進 Bruce Schneier 的文章後有更新不少資訊,看起來目前在用的 Block cipher 應該都沒事,不過他沒提到 Cryptographic hash function 的部份,看起來還是有機會?

Posted in Computer, Murmuring, Security | Leave a comment

Amazon EBS (Elastic Block Store)

Amazon EC2 一直都沒有保證在上面的磁碟資料不會掉,這使得 MySQL 必須透過定時備份到 S3 以及即時將 binlog 備份到非 Amazon 的站台以確保資料的安全性。 之前的解法是將資料放到 Amazon SimpleDB 上,但 SimpleDB 的空間有限制 (還在 limited beta),而且會有被綁在 Amazon 上,如果想要搬出來會找不到 open source 的替代方案。另外一個問題是熟悉度的問題,大家還是比較偏好用 MySQL 這類的 RDBMS。 這個限制終於在 Amazon 推出 EBS (Elastic Block Store) 解決了:你可以在 EC2 上開一個磁碟空間給 MySQL 用! … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software | 2 Comments

apache22 (worker) + mod_fastcgi + php5-fcgi

這篇會講怎麼在 FreeBSD 上建立標題所說的環境。 Apache 2.2 的部份,透過 ports 編譯時加上 WITH_MPM=worker 即可: # cd /usr/ports/www/apache22 # make WITH_MPM=worker install clean 裝好後將 /usr/local/etc/apache22/httpd.conf 裡 httpd-mpm.conf 前面的 # 拿掉,並修改 /usr/local/etc/apache22/extra/httpd-mpm.conf 內 mpm_worker_module 那段: ThreadLimit 512 StartServers 1 MaxClients 512 MinSpareThreads 1 MaxSpareThreads 512 ThreadsPerChild … Continue reading

Posted in Blog, Computer, Murmuring, Network, Programming, Recreation, Security, Software, WWW | 15 Comments

YUI 3.0 Preview Release 1

YUI team 終於想開了,不再用像是 YAHOO.util.Event.addListener 這種寫 code 時會一直抱怨的命名方式,而是改用 Y 當作物件,並支援 fluent interface,也就是 Y.foo('blah').bar('blah2') 這種串接的用法:YUI 3.0 Preview Release 1。 但缺點就是因為語法改變,你必須改寫... 不過應該不是大問題,因為 YUI 2 與 YUI 3 不衝突,在過渡期時你可以把兩個 framework 都讀進來。

Posted in Computer, Murmuring, Network, Programming, Software, WWW | Leave a comment

假設前後台順利上線後,之後的計畫...

我們 (PIXNET) 預定在 8/19 凌晨開始,全面停機轉換到新後台,8/20 正式上線:【公告】後台上線停機預告。不過實際上我們待命的時間會比這個久,因為要提早開始準備,上線後還要保留二十四個小時 (預定) 修改問題。 上線後除了開始收 feedback 外,也開始要跑下一波計畫改善整個系統。 我打算實際拿 MogileFS 用,要了解穩定性與效能。MogileFS 是一個分散式的檔案系統,國外有一些站台已經在用,日本似乎也有不少人研究。 用 MogileFS 時前端會放 reverse proxy,目前看起來 Squid 3 與 Varnish 都還可以,只要不要碰到 Disk I/O 就沒問題。而 Cacheboy 是一個 Squid 2 fork 出來的專案,還要再仔細看看。 另外一種方案是不自己搞 reliable storage,除了 local 存一份外,直接丟 Amazon … Continue reading

Posted in Computer, Murmuring, Network, WWW | 3 Comments

這次 PIXNET 前後台的一些整理

趁著在家養傷 (腳痛) 寫程式的時候,順便把這陣子 PIXNET 在重新改寫的部份紀錄下來,從底層與 OS 比較有關的、PHP 的,以及 Web UI 的部份。 FreeBSD 的 NFS client 的效能並不好,在這次 PIXNET 前後台大改版前,我這幾天重新跑數據看目前舊系統的架構,可以看出來 PHP code 放到 NFS 上面所吃的 system CPU resource 比 userland CPU resource 還多:(這是其中一台 blog 主機的 CPU usage,用 Munin 畫出來的圖,中間斷掉那段是我在改 Munin 的設定...) 從圖上可以看出這台跑 … Continue reading

Posted in Blog, Computer, Database, FreeBSD, Linux, Murmuring, MySQL, Network, OS, Programming, Software, WWW | 9 Comments

猴子寫的程式碼...

在「Debian会如何处理猴子写的代码的版权」這篇提到的問題讓我想起 Star Trek: Voyager (星艦奇航記:重返地球) 的 Author, Author 這一集,在討論非人類的權利...

Posted in Computer, Murmuring, Political, Programming, Software | Leave a comment