prism

2008-05-27

DigEZ 站務報告

DigEZ 的 cookie 即將改成跨不同主機名稱同網域的方式,所以原本有用匿名追蹤功能的用戶,追蹤的資料會不見,您可以加入會員,或是重新加入您的追蹤清單

感謝您的愛護


TerryH

2008-05-09

Keep your old fan

之前敗家的 CoolerMaster Vortex 752 和原廠的風扇比還是有點大,所以花了一些時間才裝上去

這就是裝上前的數據


May 9 09:51:53 www sensord: Adapter: PCI adapter
May 9 09:51:53 www sensord: Core0 Temp: 33.0 C
May 9 09:51:53 www sensord: Core1 Temp: 39.0 C
May 9 10:21:53 www sensord: Chip: k8temp-pci-00c3
May 9 10:21:53 www sensord: Adapter: PCI adapter
May 9 10:21:53 www sensord: Core0 Temp: 34.0 C
May 9 10:21:53 www sensord: Core1 Temp: 41.0 C
May 9 10:51:53 www sensord: Chip: k8temp-pci-00c3
May 9 10:51:53 www sensord: Adapter: PCI adapter
May 9 10:51:53 www sensord: Core0 Temp: 34.0 C
May 9 10:51:53 www sensord: Core1 Temp: 40.0 C

這就是裝上後的數據

May 9 11:17:50 www sensord: sensord stopped
May 9 13:20:50 www sensord: sensord started
May 9 13:20:50 www sensord: Chip: k8temp-pci-00c3
May 9 13:20:50 www sensord: Adapter: PCI adapter
May 9 13:20:50 www sensord: Core0 Temp: 34.0 C
May 9 13:20:50 www sensord: Core1 Temp: 38.0 C
May 9 13:21:01 www sensord: sensord stopped
May 9 13:23:55 www sensord: sensord started
May 9 13:23:55 www sensord: Chip: k8temp-pci-00c3
May 9 13:23:55 www sensord: Adapter: PCI adapter
May 9 13:23:55 www sensord: Core0 Temp: 35.0 C
May 9 13:23:55 www sensord: Core1 Temp: 39.0 C
May 9 13:53:55 www sensord: Chip: k8temp-pci-00c3
May 9 13:53:55 www sensord: Adapter: PCI adapter
May 9 13:53:55 www sensord: Core0 Temp: 33.0 C
May 9 13:53:55 www sensord: Core1 Temp: 38.0 C



大概只有差兩度吧,花了 600 百元的爽度實在是不夠,還是用原廠的風扇就好啦,不要多花錢,買很大顆的風扇啦

2008-05-07

prefork or threaded

開發好的網站程式最終還是會裝在網站伺服器上,開放對外面的服務,實際考驗你寫程式的效能,及整個架構能否負荷對所有網民的請求

這是最近試過的組合

Lighttpd + fastcgi + Django prefork

Lighttpd + fastcgi + Django threaded

Lighttpd + scgi + Django prefork

Lighttpd + scgi + Django threaded

用 apache 附的 ab 作壓力測試 ,concurrency 100, 1000 request 100, 1000

Django 都是使用 local unix sock 的方式跑,用預設的 maxchildren=50 請求頁面是一個 Django 的 cache 頁面,有 6個 MySQL 的查詢

環境

Debian Linux 2.6.24-1-686,Lighttpd 1.4.19,MySQL 5.0.51a, Python2.5.2,python-flup 1.0-1,python-mysqldb 1.2.2-6,Django version 0.97-pre-SVN-7480

IBM X60 CPU Intel Core Duo 1.83 RAM 1G

調整 Django 的架構方式得到的結論

效能上 scgi 和 fastcgi 並無太大的差別

所以只比較 prefork,threaded

效能
threaded > prefork
成功完成 web 請求數最多,最快
threaded Requests per second: 438.89 [#/sec] (mean)
prefork Requests per second: 129.53 [#/sec] (mean)
穩定度
prefork > threaded
threaded 模式運作一段時間後會出現 Internal Server Error,沒有回應

兩種模式,在壓力過大的時候,都會出現無法回應,要等待才能回復,這是正常的現象,因為,Lighttpd pass 給 Django,也要 Django 來得及回應

不過,在真實的運作中, threaded 出現的 Internal Server Error 是不會回復的,需重新啟動 Django 才行

結論就是,先不要對 threaded 的效能流口水,prefork 擋著先

希望有大大可以有建議

參考資料

http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/
http://timchen119.blogspot.com/2007/06/thread-dying-problem-may-fixed-in.html

2008-05-06

CoolerMaster Vortex 752



去宅男的集散地,光華商場,把這一顆風扇敗回家,O GET賣 790 元,紐頓賣 790 元,最後在原價屋買600塊台幣,果然貨比三家不吃虧,居然在光華一樣的東西,價格可以差到快 25%,不知道在其他的地方是怎麼賣得,選他的原因,就是便宜,聲音小噪音低是一定要的,再來就是沒有這麼大顆,好吧,等我裝上去,再來補一下和 AMD 原廠的風扇差別,不過,這一顆原廠的已經轉了,快一年了

希望今年夏天,這顆風扇,可以讓我的 Server 涼快到底,算上,昨天換上的 4G RAM,應該可以再惡搞很多東西了,不過 Server 又要被我停機換風扇了,希望日益增加的使用者可以有耐心

現在風扇真的是很恐怖,很多都已經比一台 125 cc 的汽缸還大了,有些價格居然還比我 Server 的低電壓省電 CPU 還貴,還有 led 冷光,我看了真的有點無言,有點不知道,我們用電腦的目地到底是什麼了,追求超頻,或是買個比你 CPU 還貴的風扇,還會發出淡淡的藍光,然後,用可以吃記憶體當喝水一樣的作業系統,一邊用,一邊哭喊著,好慢喔,如果你是這樣的人


請改用 Linux吧,用了就不會再回頭啦

2008-05-04

It's time to say goodbye

是時候該說再見了

到現在,將近 8 年,算是一段不長不短的時間,同一間公司由南京東路搬到內湖科學園區,因為高層的組織調整也換了幾個工作性質一樣的部門。

這段時間,有身邊的同事去唸書,去國外,或是也和我一樣調了不少部門

有些事,現在不作以後也不會去作,決定要離開上班族的生涯,作一些不同的嘗試,任職到今年的 5月 31日,去走自己該走的路,作想做的事,終於可以不用被工作綁住,必須住台北了,光是減少的房價,應該可以少奮鬥十年,希望一天的工時可以降低一點,為自己作,有時間,也可以再推出想了很久的財經網站,可以幫大家加薪賺錢,敬請期待

準備當中華廚師裡的小當家了,希望可以做出人間美味的餐點

謝謝,這段時間,同事的照顧,長官的厚愛

2008-05-02

supervisor 讓你的 Django 活久一點

過去曾經提過一篇Keep your daemon nerver die,有關 supervisor 的文章,今天,要小記一下, 用supervisord 來控制 Django ,若是發現程式運作發生問題,會自動幫你重新啟動

這是放在設定檔 /etc/supervisord.conf 裡的片段
digez 就是我自己取的名字,因為是要讓 supervisor 來監控,所以 daemonize 設成 false,要注意的是 sock file 的權限,必須是 user www-data 可以讀寫的權限,我的環境是 Debian testing, python 2.5.2


[program:digez]
command=/home/web/digez/manage.py runfcgi daemonize=false socket=/home/web/run/digez.sock pidfile=/home/web/run/digez.pid
user=www-data
autostart=true
autorestart=true
stdout_logfile=/var/log/digez.log