分類
系統技術

FPT-全網頁效能偵測服務(web版本)

從[愛迪 怕死我]網站看來的.

這個 full page test 線上服務有幾點很方便的功能.

  1. 方便好用-整個是在瀏覽器下操作
  2. 圖表整理清楚-整個圖形化的呈現結果, 清楚地呈現整個效能問題及診斷
  3. 容易分析-根據提供的結果, 很容易地找出問題或需要調整的地方

這個工具很重要的地方就在於不用安裝, 而且針對網頁無論是設計面或是效能面都有一個客觀的診斷結果, 對於在設計及開發網站應用程式來說是很方便而重要的參考依據. 我們來看看操作的方式, 首先連結到 http://tools.pingdom.com/fpt/ , 簡潔的操作介面上只需要填入要測試的 url 即可, 按下 test 之後, 就可以取得很棒的一個圖表測試報告:

分類
Blog服務

相當不錯的YAHOO奇摩站長工具

大家應該都知道 google analytics 這個免費網站分析工具吧!

前兩天同事傳來了一個連結, 說十分好用的 Yahoo奇摩站長工具, 這兩天忙沒時間看, 今天想說來看一下, 根據我的印象, 直接打了 tw.master.yahoo.com 發現錯了, 再改為 tw.webmaster.yahoo.com 果然到了這個工具頁, 申請十分簡單, 在體驗功能後, 發現介面和 google analytics 很像, 應該就是相當類似的操作功能及介面, 於是就申請一個帳號來用看看, 發現他和 google analytics 最大的不同在於 “即時性“, 由於使用 google analytics 好一陣子了, 所以也相當習慣他的分析時間, 大約是一天左右, 所以要看即時的資訊, 往往要藉助其他的工具, 不過這一陣子 google analytics 是有快一點了, 大約是在半天左右, 其實免費的分析工具, 這樣已經相當足夠了, 但 yahoo奇摩站長工具硬是快上許多, 大約僅有5~10分鐘的延遲而已, 十分地即時. 另外由於即時的關係, 大家可以觀察看看, 他的計算真的很仔細而正確, 相信應該是很棒的分析工具.

他可以掛上 javascript 的版本, 也可以掛上只有圖片的版本(也就是不支援自訂javascript時, 可以改用的方式, 在大部的狀況下, 都可以接受的方式), 而且可以配合他的搜尋工具, 廣告工具等, 整個整合在一起了, 看來真的很不錯, 有這方面需求的站長, 可以試看看他的功能哦! 也可以和老字號的 google analytics 比較看看!

不過他沒有像 google analytics 的多人同時可以看分析資料的功能, 可能之後會提供在企業版本使用吧!!

相關文章:
超好用的Yahoo!奇摩站長工具 (介紹十分仔細)
Yahoo推出 Yahoo!奇摩站長工具,人氣分析精準可靠
ZDNet 的新聞: Yahoo!奇摩提供網站分析管理工具
「Yahoo!奇摩站長工具」登場 網站與部落格的專屬網站管理大師!
【Yahoo奇摩!站長工具】之有錢可賺了…(類似AdSense的賺錢管道)
如何使用「Yahoo站長工具」來統計人氣、賺錢?

[2008/6/27 13:50]
當Yahoo! 站長工具遇上Google Analytics

分類
程式技術

Apache的PreFork MPM功能

Apache, 用了很久, 但的確沒有好好研究過有關於 performance tuning 這塊. 事實上, 這個免費的 web server 功能真的十分強大, 尤其是可以載入的模組也多, 在使用上, 真的有許多沒有深入研究就學不到的內容.

首先我們來看有關於 MPM 的一些資料:
http://dz.adj.idv.tw/archiver/tid-214.html
在 MPM中, prefork 及 worker 是兩種不同的 multi-processing module, 在 apache 管方網站上分別有對這兩個 module 有深入的介紹:
http://httpd.apache.org/docs/2.0/mod/prefork.html
http://httpd.apache.org/docs/2.0/mod/worker.html
這二者只能擇其一來使用, 一般來說, 雖然 prefork 比較佔用記憶體, 但相容性及穩定性較佳, 也是在 FreeBSD 下安裝 Apache 的預設 MPM module.

事實上, 預設的 prefork mpm 參數如下:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
分類
手機大未來

mofuse mobilize your web – 使用 mofuse 將你的網站 mobile 化

在網上閒逛時, 發現了一個很不錯的服務, mofuse, http://www.mofuse.com/, 他提供了很單純的操作方式, 讓用戶的網頁 mobile 化, 這和之前的一些文章目的相同, 就是要方便手機用戶能容易觀看這些網站內容.

其實方便的地方在於他不需要會任何程式語言, 就能把原來的網頁 mobile 化, 這個很不錯, 因為現有的內容或網站, 若要做另一個 mobile 的版本, 相信是還蠻麻煩的, 除非原來的系統就有內建, 或是有 plugin 供使用, 否則又會是一個大工程.

利用 mofuse 的 mobile 化功能, 將 My Program 這個網站 mobile 化後, 將一些截圖整理下來:
一般手機 http://myprogram.mofuse.mobi/

分類
Database

SQL 2005的HashBytes function (MD5, SHA1)

在 SQL 2005版本中, 已內建了 HashBytes function 用來做 Hash 的功能, 可以參考該 function 的用法: http://msdn.microsoft.com/en-us/library/ms174415.aspx. 不過這個功能在 SQL 2000 的版本內並無內建, 若有需要可以參考 code project 上的 MD5 Hash SQL Server Extended Stored Procedure, 或是使用純 T-SQL 的方式的 MD5 : MD5算法的T-SQL實現(FOR SQL2000) .

使用方式很簡單, 直接呼叫 HashBytes 函數並指定演算法即可, 如下:

select HashBytes('MD5', '1234')

不過傳回的是 varbinary , 若是要取回為字串的型態, 得再用 sys.fn_VarBinToHexStr() 這個 function 來轉換, 如下:

select sys.fn_VarBinToHexStr(HashBytes('MD5', '1234'))

參考文章:
好用的 MS SQL 2005 欄位字串加密應用 ( MD5 與 SHA1 )
SQL Server 数据库中的 MD5 和 SHA1

另外若是要作密碼加密使用的話, 在 SQL 2000 中有內建 PWDCOMPARE, PWDENCRYPT 這些函數可供使用, 可以參考 BlueShop 討論.

分類
ASP

自訂host的方式進行webrequest (ASP)

XML HTTPRequest , 是 ajax 的一個重要元件, 不過一直有一個問題就是指定 Request Header 的這個部分, 在 XML HTTPReqeust 裡, 使用 setRequestHeader 的這些 header 有些是可以指定的, 有些是似乎是 read-only 的, 這裡要談的就是 host 這個標題.

在 client side 的狀況下, 這件事似乎是完全不用考慮的, 因為 client-side javascript 在瀏覽器的控制下, 本來就不允許做 crossdomain 的 access 的(這是基於安全性的考量), 即使是相同子網域也一樣, 相關資料可以參考: Javascript的同一父網域下的crossdomain問題. 不過若是在 server side 就不是這樣了, 在 server side 有時可能需要做為 client 的 remoting 或 gateway 的關係, 也會利用相同的方式進行 http reqeust, 在 asp 程式碼中, 若是需要做這個功能, 一樣是起 MSXML2.XMLHTTP 這組 xml webreqeust, 不過仍有指定 host header 的問題, 即使使用了 setRequestHeader “Host”, “bbb.com.tw” 的方式, 仍無法變更原來在 Open 方法內使用的 url 指定為 http://10.10.10.10/xxx 中的 10.10.10.10 的 host header , 不過用 setRequestHeader “Host”, “bbb.com.tw” 也不會有任何錯誤.

這裡將介紹另一組 api 供類似功能, 但又可以指定 Host Header 功能的一組元件, Windows HTTP Services, 這組元件用法幾乎和 MSXML2.XMLHTTP 完全相同, 而且又可以指定 Host, 所以在使用上可以有更多的應用, 例如多主機架構下, 指定 ip 方式訪問主機, 並帶上對應的主機標題(Host Header), 如此一來便能在指定 ip 下的 http 訪問又能加上 host header.

以下為範例程式碼:

Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
WinHttpReq.Open "GET", "http://192.168.1.1/test.php", false
WinHttpReq.SetRequestHeader "Host", "myurl.com.tw"
WinHttpReq.Send
httprsp = WinHttpReq.ResponseText
Set WinHttpReq = Nothing

這個最大的用途是做測試環境及主機標題限制狀況下使用, 又或多主機(平衡負載)對應時, 要指定訪問固定主機的頁面時會使用到.

分類
TatterTools

重導用戶至手機網址插件

好一陣子沒寫 plugin 了, 用手機瀏覽 tattertools 的網頁, 本來就存在網址 https://diary.tw/tim/m 這個功能, 不過若是直接用手機瀏覽至文章的話, 例如: https://diary.tw/tim/494 , 應該要被 redirect 至 https://diary.tw/tim/m/494 . 這個功能一直很想實作, 卻沒時間也一直沒想法怎麼架構這個插件.

今天用手機上網找資料, 找到自己的網站, 連回來, 連到原來正常的網頁, 但實在太大又不方便, 雖然自己知道可以加上 /m 來改網址達到手機可觀看的版本, 但別人不見得會知道啊, 所以今天就來寫這個小插件.

架構上用了比較簡單的 tagname 方式實作這個插件, 所以要用的使用者, 麻煩就將 [ ##_MobileRedirect_## ] (注意要去除[]間的空白)放在 skin 上, (放在愈前面愈好, 最好是在 < head>之後, 或是 <body>之後, 如此才能快速作用(用javascript重導的).

判定的方式利用了 Russell Beattie’s Weblog (link) 的 Mobile Browser Detection in PHP 這篇文章內的判定手機方式來達成, 一共分為兩個步驟:

先判定 directive ($suri[“directive”]) 是 “/”, 也就是首頁或是內容頁(用數字版本的), 詳情可以參考: TT的$suri好用資訊 這篇文章.
接下來再判定是否為手機用戶, 這個就用 $isMobile 來判定

一旦兩者皆符合時, 就重導至 /m 的手機版本網頁.

請各位有空試看看, 若有任何問題或建議, 歡迎提出來哦!

插件下載:
MobileRedirect.zip

分類
好用軟體

gmail和firebug有衝突哦!?

今天使用 gmail 時, 才剛登入, 就出現斗大的字:

是哦!? 怎麼會這樣咧, 看起來應該是 ajax 的使用量較大的關係, 是不一定會有影響, 我們來看看他的說明如何改善:
http://mail.google.com/support/bin/answer.py?hl=zh_TW&ctx=mail&answer=77355

居然要停用掉 firebug 的 net monitor 功能, 看起來的確和大量的 xmlwebrequest 有密切的關係, 不過除非真的慢到不能用, 否則不會想停掉這麼好用的 firebug 工具咧.

若有使用 firebug 的朋友們在使用 gmail 有這個效能問題的話, 可以參考看看囉!

分類
Windows

windows vista sp1繁體中文出來囉

延遲已久的 vista sp1繁體中文版出來囉.

之前在 zdnet 上的消息, vista sp1 繁體中文版即將上市了, 參見: Vista SP1中文版五月釋出 相容性成賣點, 相較於英文版的 sp1, 的確讓大家等了好一陣子, 有在使用 vista 的用戶快去下載安裝囉!

官方連結如下:
KB936330:x64 系統的 Windows Vista Service Pack 1 All Language Standalone 版
KB936330:Windows Vista Service Pack 1 All Language Standalone 版 <-這是32bit版
Windows Vista Service Pack 1 All Language Standalone 版 CD ISO <-這是32bit版cd image
Windows Vista Service Pack 1 All Language Standalone 版 DVD ISO <-這是32和64bit的dvd image

快用看看吧!

另外順帶一提的, server 2008 的版本, 由於核心和 vista 是一樣的, 所以在發行時, 已是 with sp1 的狀況囉, 可以參考下面的截圖:

IIS 7 BitRate Throttling 模組

在以往的 iis 限流功能上, 一直是以整個 web 站台的總流量來進行限流管理, 當然這也算是一種限流管理方式, 但在現今這種影音應用的環境下, 相信如何能有效應用頻寬並進一步來節省成本, 相信是很重要的課題.

以往要在 web server 上做流量管理, 最理想的方式是做 per connection 的限流, 這個功能在 iis 上並沒有提供, 不過在 apache 上有個 mod_bandwidth 模組可以做到, 他的原理就是進行單一 connection 的流量限制, 在這種狀況下, 就可以有效地管理每一個 connection 的流量, 簡單地說, 若是放在 web 上的影音內容, bitrate 是 300kbps 的話, 我們可以利用 mod_bandwidth 將流量限制在 330kbps左右, 讓這些影音內容能在邊下載邊看的速度下進行觀賞, 這樣最重要的是對 server 端能節省頻寬. 因為一般人也不見得會整個看完, 若是用很快的速度讓使用者下載, 事實上會蠻浪費頻寬的.

然而隨著在 iis 7 上提供 BitRate Throttling模組功能時, 這些狀況就會改觀了, 根據技術文件提到, 這個模組可以根據媒體檔案內容的 mime-type 及 bitrate header進行流量限制, 並提供了前面多少時間(幾秒)的快速下載, 之後根據 bitrate進行限流, 看起來彈性及功能遠比 apache 的 mod_bandwidth 模組有更大的彈性及好處.

實務上, 這將會是一個相當有效節省頻寬的一個管理方式, 這個部分相信對未來影音應用的普及下, 將會發揮更大的作用哦.

這篇介紹了如何偵測 bit-rate的方式及設置方式:
http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/

這篇介紹如何安裝這個模組:
http://learn.iis.net/page.aspx/147/bit-rate-throttling-setup-walkthrough/

這篇介紹如何設定及驗證:
http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/

其他相關閱讀:

這篇有實作後的流量比較結果:

http://blogs.msdn.com/jijia/archive/2007/12/30/iis-7-0-bandwidth-throttling.aspx