FreeBSD 6.0 MySQL Performance Tuning

這是 目前的討論:new benchmarks. WAS: FreeBSD MySQL still WAY slower than Linux

測試的環境是在本機上跑,主要的測試對象是 Thread Library,包括了:

  • libpthread (Default)
  • libpthread + LIBPTHREAD_PROCESS_SCOPE=yes
  • libthr
  • linuxthreads
  • linuxthreads (query cache disable)
  • libthr (query cache disable)
  • libthr (TCP socket)
  • linuxthreads (TCP socket)

這幾個測試結果沒有什麼意外,速度最快的是 libthr (即 1:1 Threading)。

另外因為上面的測試環境是打開 HTT 的情況下測出來的,所以有人建議關掉 HTT,而作者也再跑了一次,發現除了 libthr 快了一點點 (大約 2%) 以外,其他的都沒差。

再來是有人提出 上的 gettimeofday() 非常花資源 (這點在 提供的 mysql ktrace log 裡面有說到),所以有人有建議修改 kern.timecounter.hardware (從 ACPI-fast 改成 TSC),不過作者好像還沒看到 :p

再來是 kernel config file 裡面好像沒有用 SCHED_ULE

這個討論串還在跑,所以還可以看一看長輩們到底有什麼花樣可以玩...

Update:開新的討論串在討論了:mysql benchmarks。另外 super-smack 這個程式是 Sasha Pachev 發展的,後來 接手 (),現在是 在維護 ()。

Jeremy Zawodny 的 High Performance MySQL

找 ICOS, 上講的 已經有人放出 mp3 可以讓人下載了:ICOS 第三天:High Performance MySQL

除了聲音有點小以外,其他的倒是還好。講的很淺,都是研究過 MySQL Performance 的人應該都知道的東西。

PS:因為網站上的連結用的是相對路徑 (wp-content/icos5.mp3),所以你需要自己改 url,把 hostname 到 wp-content 中間的 url 砍掉就可以了。

PS2:我在 有 mirror 一份,26917581 bytes (約 26MB),MD5 為 04355bd3b05b69875c75869ce6edbd69,SHA-1 為 c4eda6dc36fd341e3d458c3d333e5c0b36861813。

Jeremy Zawodny (ICOS 2005)

講兩個 Session:11/10 星期四的 Open Source and yahoo -- "Remix" to meet the needs, Web 2.0 company 與 11/12 星期六的 High Performance MySQL,看主辦單位所排的時間,兩個 Session 都不太長。

( 說他打算問 什麼時候要升級到 Web 2.1?XD)

PS:在他的 Blog 上也提到準備要飛來台灣了:Heading to Taiwan for ICOS 2005

FT3: a full text indexer and search engine

剛剛看到 FT3: a full text indexer and search engine 這個東西,很明顯是個以 為後端資料庫惡搞出來的軟體,用最簡單的方法將所有的字切開,塞到 Database 裡,當需要查詢的時候暴力法用 SELECT 硬幹出來 :p

我還是用 來管理文件資料好了,至少不用自己套用這類東西寫搜尋的程式碼 XD

MySQL InnoDB

前幾天就有不少媒體報導 買下來,我只是覺得 這家公司好像很熟,可是幹嘛跟 做比較 XD (其實我沒有仔細看,前幾天忙跳槽的事情,很多東西看個標題而已...)

直到看了 這篇 Oracle buys Innobase. MySQL between rock and hard place? 後,我才突然把 與 MySQL InnoDB 的關連想起來 XD

然後我才馬上理解 買走之後對 的影響... row-level locking + transaction 啊~~~

MySQL 5.0

5.0「餅乾版」釋出 (我很喜歡這個詞,可是我忘記是誰開始用的):MySQL 5.0 Candidate ReleasedMySQL 5.0 Release Candidate Available. Win an iPod nano!

5.0 在某些機器上已經跑了一陣子 (當初是為了 VIEW 的功能使用 5.0),用了幾個月下來還算蠻穩定的。(如果不會用到奇怪的功能...)

Update 在他的 blog 上介紹了一下 5.0:MySQL 5.0 Release Candidate Available

vanilla UTF-8 修正

那邊看到 這套討論區軟體,目前版本是 0.9.2。畫面很「乾淨」(比起 ...)

我在安裝以後發現中文仍然存在一些問題,看了一下 的 Language Pack,發現他只有翻譯而沒有 patch,只好裝了 看資料庫的情況,發現是 latin1 老毛病 (呃),處理一下再測試就正常了。

測試站台在 http://vanilla.gslin.org/,如果您有興趣可以在上面玩看看。這邊提供 UTF-8 安裝所需要的動作:

  • 先建立資料庫,並將資料庫的預設字元集改成 UTF8:ALTER DATABASE DEFAULT CHARACTER 'utf8';
  • 將官方網站的 vanilla.0.9.2.zip 解到 DocumentRoot 裡。
  • 修改 library/Utility.Database.class.php,尋找 @mysql_connect 這行,在後面加上 @mysql_query('SET NAMES UTF8;', $this->Connection);
  • 提供的 Language Pack 丟進 languages/ 下。
  • 用瀏覽器連到 http://vanilla.site.com/installer.php (當然,記得把 vanilla.site.com 改成你自己的網址),把該填的資訊丟進去。
  • 理論上這樣就做完了。

頗有趣的是 支援的 Atom 是 1.0,而非 0.3,看起來動作很快啊 :p

另外就是效率問題,我不清楚整體效率如何,但是我已經瞄到大量的 Class 殺手... 我猜 (猜錯不負責) 效率可能比 還 XD