MySQL (MyISAM) 的備份

當系統小的時候,用 mysqldump 在離峰時間把資料 dump 出來還算可行。
雖然 Table 會暫時 Lock 住,但是因為小,所以速度可以很快,鎖住的時間可以不計。
但當系統大的時候就不能這樣做了。

好在已經有許多處理這個問題的經驗者。
解決這個問題的 Key Point 是「減少鎖 Table 的時間」,因此如果採用的 File System 或是 Volume Manager 有支援快速的 snapshot 功能的話,整個問題就簡單很多。步驟如以下所示:

  1. SLAVE STOP;
  2. FLUSH TABLE WITH READ LOCK;
  3. 作 snapshot
  4. UNLOCK TABLES;
  5. SLAVE START;

如果採用 LVM (Linux), ZFS (FreeBSD, Solaris) 或是 NetApp 的話,整個備份過程可以小於 5 秒鐘,因此可以做到每個小時備份一次而不影響正常使用。如果在 Slave 上做 snapshot 備份,則完全不會影響到寫入(READ LOCK時還是可以讀)。

MySQL 在 Mtron SSD 上的測試

這次PIXNET進了2顆 32G Mtron MSP-SATA70(Spec 上寫的寫入速度為 90MB/s,讀取速度為 120MB/s),裝在 8-way、12G RAM 的 Debian Linux 上,跑 MySQL 5.1 Slave,用 MyISAM 當 backend。最大的 MyISAM Table 大概有 3GB。

這次一開始就採用 RAID 0, 4KB stripe size + XFS (4 KB Data Size) + noop disk scheduler。測試開始時,從DB Master複製資料所需的時間,大概是兩顆 SCSI 10k RPM + XFS 的 1/3,約 70MB/s。接著 replication qps 大概在 3000-4000 左右徘徊,最高大約是 15000 qps。

實際使用上(同時有 SELECT 與 UPDATE),大概 8000 qps 是極限,接著就會遇到 CPU Bound,對於較複雜的 SQL Query (SELECT … IF EXISTS)會開始卡。如果只計算單純的 SELECT QUERY,則可以到約 15000 qps。

WebDAV

基本上按照 Apache mod_dav 的說明就可以安裝完成了,但若要讓WinXP的網路芳鄰要能存取DAV Folder,必須將Virtual Host 的 root (/) 設成 DAV Enabled,否則會一直要認證…

<virtualhost *:80>
ServerName share.example.org
DocumentRoot "/home/www/share"
<directory "/home/www/share">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig
    Order allow,deny
    allow from all
</directory>
ErrorLog /home/www/logs/share-error.log
CustomLog /home/www/logs/share-access.log combined

DavLockDB /tmp/DavLock

<location />
    Dav On
    AuthType Basic
    AuthName DAV
    AuthUserFile /home/www/auth-file
    Require valid-user
</location>
</virtualhost>

Last.fm

Last.fm是一個英國的線上音樂電台與社群網站。台灣人似乎沒什麼在用,但是經過Daybreak的推薦,我發現它真的蠻好用的。

要收聽這個網路電台,必須先安裝他所提供的Client。這個Client會收集個人聽音樂的喜好資訊,譬如歌手、類別等,然後自動產生一個你自己的音樂電台。這個音樂電台可以給你自己收聽,別人也可以收聽。另外,使用者可以指定所喜歡的歌手或音樂類型,而Last.fm會幫忙找出相類似的音樂,產生一個電台讓人收聽。

另外,Last.fm 會列出與你興趣相似的使用者,讓使用者互相之間可以進行交流,不過當然大部分的人都使用英文。這點可能 anobii 做的比較好一些就是。另外,我找不到他付費服務跟免費服務的差別……(正確來說,甚至找不到如何付費 XD)

推薦各位來試聽看看。我也在我的 Blog 左側欄位加上了林原惠相似的電台,歡迎大家試試看。

相關參考:

  • Last.fm on Wikipedia