我已經使用ARCHFLAGS =「 - arch x86_64」在這些instructions by Hivelogic和mysql(2.8.1)gem之後安裝了MySQL 5.1.40源代碼分發(64位可執行x86_64)。在Snow Leopard下MySQL非常慢
我正在使用它進行Ruby on Rails開發,而我的問題是,即使MySQL以各種方式工作,它都非常緩慢。
執行標準rake數據庫時使用sqlite3進行比較:遷移創建約15個表。
的MySQL:
時間耙分貝:遷移
真正0m4.882s
用戶0m1.426s
SYS 0m0.235s
的sqlite3:
時間rake db:migrate
個真實0m2.282s
用戶0m1.501s
SYS 0m0.255s
我們還必須考慮到對每個測試的執行時間1.5s左右是軌道框架這意味着sqlite3的執行的加載SQL任務大約需要0.5-1s,而MySQL需要超過3s才能完成同一組任務。
這不就是錯的嗎?這可能是什麼原因?任何遇到同樣問題的人?
我已經安裝和重新安裝了MySQL和MySQL的/紅寶石寶石几次,但總是以同樣的結局... :(
我的雪豹是升級安裝,而不是一個全新安裝。也許這是這個問題的原因是什麼?一些過時的庫?
謝謝!
感謝您的回覆! 我與另一個平臺的唯一比較是,我在Leopard下運行了相同的測試套裝(使用上面的db:migrate),現在它在Snow Leopard下顯着更慢,執行時間在Leopard中大約需要1分鐘,在雪豹4分鐘。 我也注意到,mysql似乎「嗆」了Leopard下沒有發生的事情。如果我嘗試插入200條記錄 - 第一個30-40的閃電速度很快(〜0.8ms),但是儘管第一個插入和最後一個插入之間的複雜性相同,但它會大幅減速至每插入200ms。 – mrD 2009-10-30 09:05:02
好的 - 我建議在Leopard和Snow Leopard上都使用'sample'來獲得CPU週期正在進行的概覽。這也可能是由於兩個操作系統之間的磁盤同步更改所致。無論如何,通常需要將數據庫調優到特定的系統。 – bbum 2009-10-30 15:23:00