Apache-2.2

Mysql很慢,開箱即用的配置

  • January 3, 2013

我剛剛在 VPS 上安裝了 AMP 堆棧。我登錄到 mysql 控制台,發現查詢速度非常慢。單個更新查詢,針對約 200 行的表中的 1 行需要 0.5 秒才能完成(在我的 Windows 筆記型電腦上完成相同的查詢需要 0.001 秒)。

我認為這與VPS沒有足夠的資源有關,但是在做了一些基準測試之後,即I/O:

1073741824 bytes (1.1 GB) copied, 14.207 s, 75.6 MB/s

avg-cpu:  %user   %nice %system %iowait  %steal   %idle  
          0.01    0.00    0.00    0.03    0.00   99.96

和一個PHP benchark 腳本,看來資源沒有問題。PHP 基準測試腳本在 5 秒內完成,而我使用 SSD 的 i7 筆記型電腦需要 17 秒才能完成。

有什麼想法可能是錯的嗎?

問題沒有解決。我移動了託管服務提供商並得到了預期的結果。我不知道最初是什麼導致了這個問題。

一些測試和問題太長而無法發表評論:

您為該表使用什麼引擎(SHOW CREATE TABLE tablename\G在底部查找 ENGINE)?

記憶體預熱後性能是否有所提高(也就是說,如果您使用略有不同的更新數據執行兩次查詢,第二次執行是否更快)?

你能列出你的 my.cnf 的內容嗎?

strace -cp $(pidof mysqld)跑步時你會得到什麼UPDATE?為此,請執行 strace,然後執行查詢,然後在 strace 上按 CTRL-C。它會吐出一些非常方便的值。

如果我只有一個猜測,我猜你沒有跳過名稱解析,並且你從一個不響應反向或正向 DNS 的地址連接(或者你resolv.conf的配置錯誤)。但這純粹是在沒有上述資訊的情況下在黑暗中拍攝。簡單測試:首先連接(即,mysql使用適當的主機和埠參數執行 CLI),然後在該互動式會話中執行UPDATE,看看整體速度是否比使用-e.

引用自:https://serverfault.com/questions/462607