[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測

TPC(Transaction Processing Performance Council)是一個組織,翻成中文就叫「交易處理效能委員會」,這個委員會的主要功能是定義一些交易處理及資料庫效能量測的標準,其中 TPC-C 標準是測量 OLTP 系統的 tpmC(每分鐘可以處理的 Transaction 數量)來看看 OLTP 系統輸出的效能,而 HammerDB 就是一個提供 TPC-C 標準量測的 Open Source 工具。

...繼續閱讀 »

[料理佳餚] 使用 Redis-Sentinel 打造 Redis 的 HA

Redis 到目前為止都還是以單執行緒的方式在執行,要多個 Redis 就要多設定幾個 instance,這樣如果 Redis crash 了怎麼辦?預設我們可以從 master 的設定檔去設定 slave 是誰,但是 slave 預設是 read-only,而且當 master crash 的時候,不手動做 master、slave 的身份互換,slave 是無法接手 master 的工作,這時候我們可以利用 Redis 內建的 Redis-Sentinel 的工具來解決 failover 的問題。

...繼續閱讀 »

[料理佳餚] C# Microsoft.Hadoop.WebClient 讀取 Hadoop Archives(HAR Files)

Hadoop HDFS 是透過 Block Size 的設定來決定對一個檔案切割的大小,HDFS 預設的 Block Size 是 128mb,意思就是說當一個檔案超過 128mb 時,就會被切成至少 2 個 Block 以上存放。

但是在海量圖檔的情況之下,一個圖檔通常不會超過 128mb,一個檔案還是佔用了一個 Block 個數,實際佔用的磁碟空間是依照檔案的實際大小沒錯,可是檔案的實際大小未達到 Block Size 的設定值時,還是硬生生地佔用了 1 個 Block 個數,當 Block 的數量太多的時候,對於 Hadoop Name Node 的記憶體空間就會有相當大程度的耗損。

...繼續閱讀 »