Wikipedia cache 架構

最近被 cache server 整的很慘 XD

先是以為我們用的 squid 效能不行 (後來證明是我頭腦的問題 XD)

改用了 nginx, varnish 甚至是 apache traffic server 結果出圖都還是不太順利

結果才發現是 SLB 說 cache server 的 80 port 一直 up and down

後來更慘 SLB 產生 Mac Flapping

後來把 Linux kernel 的 Netfilter 關掉

然後在 /etc/sysctl.conf 把 tcp 的 buffer 加大後

情況就舒緩許多 於是還是換回 squid 2.7.9

在穩定後 想研究一下其他網站的 cache solution 是什麼

繼續閱讀

分享到

squid refresh_pattern

在 squid 裡面最重要也是最難懂得設定大概就是 refresh_pattern 了

其語法如下
refresh_pattern [-i] regex min percent max [options]
regex 表示要 cache 住的對象 是比對 uri

-i 表示不分大小寫

而 min, percent, max 則是調整 cache object 要待在 squid 裡的時間參數以 分 當單位

而最重要的莫過於後面的 option 了 因為我們的 squid 是當 reverse proxy 所以可以加上一堆 違反 http 規則的選項

繼續閱讀

分享到

OS X 路徑多語系


剛剛不小心砍掉家目錄的「應用程式」資料夾

結果去 Finder 重建 Applications 目錄後 Finder 還是顯示 Applications 而不是「應用程式」

覺得很奇怪,查了一下發現是 OS X 的多語系在搞怪

OS X 的 Finder 有一個功能就是可以配合系統的語系顯示目錄的名稱

系統面上 OS X 提供了一層抽象層,區隔出「真正的檔案名稱」與「Finder 顯示的名稱」

比方說 Applications 在 Finder 會顯示成「應用程式」或者 Library 會顯示成 「資源庫」

以下是在 OS X 做多語系的方法

繼續閱讀

分享到

Compile Objective-C on Gentoo

要寫 Objective-C 的程式理所當然的要在 Mac OS X 上 XD

不過有時候想學而手邊沒有 Mac 的話也可以在 Linux / Windows 開發

這一切都要感謝 GNUStep 的計畫

在 Gentoo 上如果只是要開發 non-GUI 的程式只要安裝 gnustep-base/gnustep-base 即可

會連帶安裝 gnustep-base/gnustep-make

都裝好後我們就可以開始寫啦!

繼續閱讀

分享到

Unix 另一個分段下載程式(也是 bt downloader) - aria2

之前我在 Gentoo 上因為 portage 都要下載原始碼做編譯安裝的動作

所以為了加快下載會另外安裝 axel

但是今天我發現有更多功能的程式可以用(顯然違背 Unix 哲學 do one thing and do it well)

不過不管哪個 反正好用的程式一定要多推廣的 XD

就是 aria2

他具有以下特色

繼續閱讀

分享到

moinmoin wiki 跟 trac 改吃 NIS

最近敝單位正在將原本用 OpenLDAP 的認證方式轉成 Windows AD

因為接下來還會進一步導入 VMware View

View 限制要吃 Windows AD 的帳號 所以學長說就都改用 Windows AD 吧 反正 Windows AD 可以把 帳號密碼跟群組用 NIS 的方式吐給 Unix 吃

ssh 登入吃 NIS 非常方便 敝單位現在都用 SLES11 所以用 yast 新增一下就好了!

這樣 svn 就不會有問題了

然後原本敝單位還有採用 trac 來做 ticket 追蹤與 moinmoin wiki 當做大家的筆記

以下是如何設定這兩個讓他們可以吃到 NIS 的帳號

繼續閱讀

分享到

nginx 的 performance compare with PHP

常言道 V8 超快 XD

所以心中一直有疑惑,到底是快到哪裡去 = =

node.js 真的有比其他的快嘛?

所以做了一點小實驗

比較 node.js 跟 php 的 performance

繼續閱讀

分享到

node.js with Express, Jade, Stylus and CoffeeScript

好像不用 node.js 寫一些小東西感覺不出來他的威力 而且小郭說每次 Demo 都用 Hello World!

所以決定動手寫一個小小的留言板

搭配的 Framework 有 Express CoffeeScript Jade Stylus

這些 Framework 功能如下

  • Express : 是 node.js 的 Web Framework
  • CoffeeScript : 是快速產生 Javascript 的好物!
  • Jade : HTML 的 Template Engine
  • Stylus : dynamic stylesheet 簡單的語言產生 css

功能有

  • 新增留言
  • 修改留言
  • 刪除留言

Demo site 在 Cloud Foundry


是透過 VMware 的 Cloud Foundry 執行的

Source Code 在 GitHub


以下是說明~

繼續閱讀

分享到

利用 nodejs 與 express 建立基本網站

Node.js 可以說是今年蠻具有話題性的 server side 技術

在官方網頁上可以看到大大的 Evented I/O for V8 JavaScript

簡單來說她利用了 V8 Javascript Engine 的高速性能 加上了 non-blocking I/O 造就了特殊的程式樂趣

沒想到 javascript 除了 client 端 也可以寫 server 端的程式

原生的 node.js 就可以產生 server

不過當然搭配一些 framework 會讓我們寫程式更輕鬆啦~

目前跟 node.js 搭配的 framework 有三種

1. Express
主要提供 view helper 跟 routing
2. Jade
是一個 html 的 template engine 可以減少很多寫 html 的工
3. Stylus
類似 ruby 的 Sass 可以用來快速產生 css

繼續閱讀

分享到

VMware Cloud Foundry 試玩小小小之在小不過的心得

話說十天前看到了 Cloud Foundry 的網頁 可以 Request an invite account 當下馬上就申請了一個 XD

他的特色是… 就是 VMware 的雲 沒了! 屬於 PaaS (Platform as a Service) 最大的特色應該算是他們強調是 Open 的 (Open Source !) 主要是社群維護 cloudfoundry.org Source Code 在這裡 不過在 VMware 的平台(cloudfoundry.com)上營運要付錢 所以免費版就是下載回去自己架起來 XD (目前是 Beta 一切免費!)

目前支援 Java, Ruby, Node.js (via FAQ)

資料庫選擇有 MongoDB、MySQL和Redis

Java 的話可以搭配 Spring 或其他 JVM 可以吃的 framework

Ruby 可以選用 Rails 或者 Sinatra (沒玩過 Sinatra 可是看起來好像很簡單耶)

Node.js 則可以原生就可以支援或者搭配 expressnpm 的 bundle

然後九天後…也就是昨天晚上就收到通知信啦!

今天早上馬上來試玩一下~

以下是小小小小小小試玩心得~ 歡迎切磋指教 :P

繼續閱讀

分享到