2008年8月22日 星期五

IIS6的網頁壓縮設定

IIS 6.0中設定HTTP壓縮的步驟如下:

  1. 打開Internet訊息服務(IIS)管理器,"網頁服務延伸"按右鍵-->"新增網頁服務延伸"。
  2. 輸入名稱為"HTTP Compression","需要的檔案"為C:\WINDOWS\system32\inetsrv\gzip.dll,再把狀態改為"允許"。
  3. 使用notepad打開C:\Windows\System32\inetsrv\MetaBase.xml(先備份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要壓縮動態檔案,則將HcDoDynamicCompression設定為"TRUE",並在HcScriptFileExtensions中新增要壓縮的動態檔案附檔名,如aspx;如果需要壓縮靜態檔案,則將HcDoStaticCompression和HcDoOnDemandCompression設定為"TRUE",並在HcFileExtensions中新增需要壓縮的靜態檔案附檔名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數字越小壓縮率越低。
  4. 編輯完畢後儲存MetaBase.xml檔案;如果檔案無法儲存,則可能IIS正在使用該檔案。停止"IIS Admin Service"服務後即可儲存。重新啟動IIS,可以到http://www.pipeboost.com/ 網站驗證結果。
  5. 2008/8/26更新 這段也要設定才會啟動gzip壓縮

    IIsCompressionSchemes Location = "/LM/W3SVC/Filters/Compression/Parameters" HcCacheControlHeader="max-age=86400"
    HcCompressionBufferSize="8192"
    HcCompressionDirectory="%windir%\IIS Temporary Compressed Files"
    HcDoDiskSpaceLimiting="TRUE"
    HcDoDynamicCompression="TRUE"
    HcDoOnDemandCompression="TRUE"
    HcDoStaticCompression="TRUE"

我拿系統的一個aspx網頁測試得到底下的結果,有48.10%好像挺不賴吧,壓縮率設定是6,cpu loading沒有什麼增加。

2008年8月12日 星期二

[java excel] POI vs. jExcel

這兩天為了公事的一個小需要寫了一個轉檔程式, 來源檔是以;分隔的純文字檔, 要轉成xls格式, 還有一個附帶需求是資料筆數每60000筆, 需寫成新的sheet或xls檔案。
google了一下了解可用的api有POI-HSSF 及 JExcel 兩種, 首先採用POI-HSSF寫好程式, 測試來源檔大小: 8168KB, 資料筆數:69697,使用System.currentTimeMillis()計算時間
產生xls檔案需要時間約: 21944ms,
其中執行workbook.write(outputstream) 的時間佔了約: 15907ms!!
因為每次要轉的檔案是400多個, 檔案大小從1MB到60多MB, 用POI-HSSF轉完這些檔案大概需要4個小時! 在R6竟然也要這麼久,比我的測試機Intel C2D e6300還慢,有點意外
改用JExcel重新寫過, 測試同上的檔案得到結果為: xls檔案約: 6452ms, workbook.write() : 約1915ms!!
很明顯的速度改善, 兩種code的複雜度差不多, 除了在aix轉檔用String.getBytes()轉碼, 沒有碰到預期外的問題。

ps. 1. server為R6, 8GB Ram, OS是AIX5.2, Jdk1.5
2. 轉大檔時會碰到outofmemory, 在執行的參數加上 -mx1024m就沒問題
3. 在轉測試檔時從windows工作管理員觀察, POI-HSSF轉檔大約會用到550MB的記憶體, JExcel大約180MB
4. JExcel轉出來的xls檔案比POI-HSSF大一點, 但檢查資料無誤, 原因不詳
5. 版本: HSSF-POI 3.0.2-FINAL-20080204, JExcel 2.6.8
6. 執行時的系統狀況都只有一個cpu的loading, 這隻程式應該很適合改成multi-thread來跑...等我有空...

2008年8月10日 星期日

RSync、FreeNAS

Linux系統上有名的RSync,在windows環境可考慮使用DeltaCopy
搭配FreeNAS使用可以作很多種備份
(以上都還沒用過...)


08/22/2008更新
今天在公司要作server的備份,要用NFS,又臨時找不到有裝Linux/Unix的server,於是拿了FreeNas 0.68跟CentOS5.2的livecd暫時頂著用,結果FreeNas沒有一台開機成功的,連pc都開不起來,真是...
CentOS倒是很乖的run起來,然後接上廠商的300GB usb hd,format成ext3竟然花了1小時,也許是usb外接的關係。但是用NFS傳檔速度竟然是超慢的1MB/s,檢查usb mode確實是2.0,用隨身碟傳檔案測試速度也滿快的,但是經過NFS或是從Livecd copy檔案就不行了,大概是因為是用live cd在跑的關係吧

test test

第一篇總是要來個測試...