Mysql
MySQL 5.1 與 MySQL 5.5(5.1 快兩倍)
我最近在 CentOS 6.2 上安裝了 MySQL 5.1,並且比我們正在執行的 MySQL 4.1 獲得了性能提升。所以我將 MySQL 5.1 升級到 MySQL 5.5,看看是否有更多的收穫,但它實際上執行的速度是 MySQL 5.1 設置的一半。
我執行的測試是在一張有 230 萬條記錄的表上進行的,上面有 blob 註釋。
5.1:57.5899 秒
5.5:96.3821 秒
真正有趣的是,如果我提取 100,000 條記錄,5.5 會擊敗 5.1,但之後的任何內容都會使 5.5 的負載像峰值一樣;載入時會加快速度並減慢速度,這似乎是額外秒數的來源。
為什麼會這樣?5.1 和 5.5 的 my.cnf 相同
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 bind-address = xxx.xxx.xxx.xxx #This option makes InnoDB to store each created table into its own .ibd file. innodb_file_per_table=1 max_allowed_packet=900M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
在某些情況下,有時 MySQL 5.1 的性能可能會優於 MySQL 5.5。
- MySQL 4.1
- MySQL 5.0
- MySQL 5.1(內置 InnoDB)
- 帶有 InnoDB 外掛的 MySQL 5.1
- MySQL 5.5
- MySQL 5.6
所有測試都是在未配置 MySQL 的情況下執行的(換句話說,沒有創建 my.cnf)。結果?
- MySQL 4.1 在 InnoDB 單執行緒中表現最好
- 帶有 InnoDB 外掛的 MySQL 5.1 在多核上的擴展優於 5.1 內置 InnoDB、5.5 和 5.6
如果您希望更新版本的 MySQL 性能更好,您必須針對它進行調整。事實上,我在 DBA StackExchange 中描述了執行 MySQL Bakeoff 的想法。
我是什麼意思調整它?
在 MySQL 5.5 中,有新的 InnoDB 選項可用於利用更多專用的讀取執行緒、寫入執行緒和整體 I/O 容量。這可以在多核伺服器中使用更多 CPU。如果未配置,MySQL 5.5 將在大多數情況下與舊版本的 MySQL 在同一級別的競爭環境中執行。有時,它的表現可能會更差。
從以下方面考慮:
- 垃圾進垃圾出
- 你得到你所付出的
- 兩個字:盡職調查
底線:必須配置 MySQL 5.5 和 Percona Server 以獲得所需的性能增強。
記住這一點
什麼是蘭博基尼?