成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MariaDB 5.5在Windows下的性能測試

數據庫 其他數據庫 MariaDB
我們有很長時間沒有發布過在Windows下的基準測試文章了,而Windows下的MariaDB包含一些專門做的改進,這些改進很多人并不知曉,因為我們自己也很少提及。本文的目的是向你展示MariaDB在Windows下的性能表現。

進行測試的機器包含2個CPU共8核的處理器(這是我手頭上能找到最好的機器了)、10K SAS 磁盤(RAID1),使用sysbench 0.4測試單表共100萬行記錄。我通過網絡來運行這個壓力測試,并發的客戶端從4到4096。

這里是 OLTP-只讀 吞吐量測試結果:

說明:

絕大多數的測試結果表明,MariaDB 的吞吐量比 MySQL 高出 10% 左右

在 4096 并發客戶端時,MariaDB 的吞吐量是 MySQL 5.5 的 四倍多 476% (2382 vs 413 TPS).

很多人理所當然的認為吞吐量并不能代表數據庫的整體性能表現。在OLTP的基準測試中,響應時間同樣很重要,實際上它比吞吐量更加重要,這點我同意,因此,下面是查詢的響應時間,意味著 95% 的事務都在指定的時間內處理完畢。

OLTP 只讀響應時間

并發數 4 8 16 32 64 128 256 512 1024 2048 4096
MariaDB 4.87 6.81 8.83 12.35 22.12 43.56 90.35 180.57 619.05 1003.88 1965.77
MySQL 4.86 7.14 9.96 16.21 37.39 101.33 238.89 499.63 971.07 2241.83 25215.29

上表中顯示,MariaDB 5.5 不管是在吞吐量還是響應時間方面都是優于 MySQL 的。

但是,為什么MariaDB在Windows 下的只讀測試由于MySQL 5.5呢?二者基于同一個代碼,表現應該也相同啊。這個問題的答案并不是 MariaDB 做了什么優化,也無關 XtraDB 和 InnoDB 的優劣。答案是 MariaDB threadpool. 這個線程池在 Windows 平臺是默認啟用的。

可是,為什么使用線程池就可以有如此好的性能呢?答案是 MariaDB 承擔了通過調整線程池的大小并回調到對應的 Windows 本身的線程池,這在操作系統這一級別上相當于黑盒排序,因此能獲取良好的性能。Windows 內置的線程池的核心,是自 NT 3.5 就有的技術,這是 Windows 專有的特性,運行在其上的服務器應該使用這種技術。要讓這項技術運行良好的招數是:

不要讓同一時間在同一個CPU上運行太多的線程,這樣可減少上下文切換,這是提高吞吐量的最重要的因素

在完成的LIFO順序中激活線程等待,熱門的線程保持熱門,可降低緩存失效

順序處理 IO 完成,這是響應時間表現良好的因素

最后便是降低熱鎖的爭用

由此,線程池是只讀性能表現佳的主要因素。

下一個有趣的問題是在寫操作上MariaDB表現是否一致。因此我們使用寫模式來運行 sysbench 工具,也就是 update_non_index (每個查詢對一個非索引的整數字段進行加值處理)。為了最大化寫的吞吐量,我們設置了參數 innodb_flush_log_at_trx_commit 值為 0,每次日志的寫入是每秒一次,而不是每次事務提交一次。

測試結果如下:

OLTP write-only (update_non_index/flush_log=0) 吞吐量:

這個結果看起來很棒,差別來源于多個因素,包括 XtraDB 的寫性能、分組提交、線程池等都對這個結果會有影響。但我想Windows平臺下的 MariaDB 的 asynchronous IO optimization (異步 IO 優化) 是最主要的因素。

在上述測試中,所有 IO 相關的參數和 InnoDB 參數都使用的是默認值,結果看起來太好了以至于讓我們懷疑這是真的。我真的想通過調整為 innodb_io_capacity and/or innodb_write_io_threads 參數為 MySQL 帶來更加的性能,有人知道該如何調整嗎?

OLTP writeonly (update_non_index/flush_log=0) 響應時間, 95 percentile

并發數 4 8 16 32 64 128 256 512 1024 2048
MariaDB 0.33 0.63 0.75 1.06 1.94 3.85 8.25 21.38 129.79 274.40
MySQL 0.32 0.61 0.73 1.61 7.62 26.82 96.45 219.29 661.19 2723.36

下面是對數據庫的參數調整:

[mysqld]
sql-mode="NO_ENGINE_SUBSTITUTION"
back_log=500
user=root
port=3306
max_connections=4096
max_connect_errors=5000
max_prepared_stmt_count=50000
table_cache=2048
transaction_isolation=REPEATABLE-READ
loose-skip-external-locking
innodb_status_file=0
innodb_data_file_path=ibdata1:200M:autoextend
innodb_buffer_pool_size=1G
innodb_additional_mem_pool_size=20M
innodb_log_file_size=650M
innodb_log_buffer_size=100M
innodb_support_xa=0
innodb_doublewrite=0
innodb_flush_log_at_trx_commit=0
query-cache-size=0
query-cache-type=0
symbolic-links=0

skip-grant-tables

【編輯推薦】

  1. MariaDB 5.3將支持ALTER TABLE的進度提示
  2. MySQL創始人打造MariaDB 全面兼容MySQL 5.1
  3. MariaDB 2周年了
  4. 教你五步優化你的MongoDB
  5. MariaDB 5.3.4性能測試

 

 

責任編輯:彭凡 來源: oschina
相關推薦

2013-05-07 09:57:23

MariaDB

2013-04-03 10:04:36

MySQL 5.6

2023-07-07 15:34:27

負載測試性能測試

2009-03-13 19:21:21

Windows 7性能測試

2021-09-13 09:32:47

UbuntuWindows 11微軟

2011-04-02 14:21:45

MRTGWINDOWS安裝

2011-01-05 09:40:33

windowslinux

2011-11-08 21:54:05

Windows 監控

2017-08-24 18:22:25

公有云私有云混合云

2009-08-05 08:46:04

Windows 7性能測試

2009-08-07 08:33:33

Windows 7最終版

2012-11-23 10:00:55

SQL性能測試

2012-03-13 16:55:46

Windows 8預覽Windows 7

2010-05-21 13:57:39

SVN在Windows

2013-12-30 13:34:18

VMwarevSphere 5.5

2021-10-26 11:21:50

WindowsCeph性能

2011-03-11 12:57:34

2011-07-06 14:18:40

Percona SerMySQL

2011-03-11 10:39:09

CentOS 5.5安裝LAMP

2009-07-07 11:17:14

JDK1.4環境配置
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 红桃视频一区二区三区免费 | 青青草av在线播放 | 日韩图区 | 大象视频一区二区 | 久草免费在线视频 | 不卡视频一区二区三区 | 欧美一区二区三区在线 | 欧美一级片免费看 | 国产成人一区二区三区久久久 | 99欧美精品| 91精品国产高清久久久久久久久 | 国产午夜精品视频 | 久久久国产精品 | 亚洲自拍偷拍欧美 | 麻豆91av | 国产免费让你躁在线视频 | 精品久久99 | 91高清在线视频 | 黄网站免费在线观看 | 欧洲免费视频 | 国产综合欧美 | 亚洲免费在线观看视频 | 天天夜碰日日摸日日澡 | 正在播放国产精品 | 人人人人人爽 | 久久青青 | 欧美精品久久 | 在线观看av中文字幕 | 国产欧美综合在线 | 亚洲一区在线日韩在线深爱 | 欧美在线国产精品 | 国产免费一区二区三区免费视频 | 狠狠干av| 手机av免费在线 | 日韩一区和二区 | 亚洲性视频网站 | 久久久久免费精品国产小说色大师 | av免费在线观看网站 | 蜜桃一区二区三区 | 日韩在线不卡视频 | 免费看的av|