混合運算下 mySQL 測試專案

專案目的

本專案之目的為在混合運算下,
測試不同硬體規格間,資料庫 I/O 效能比較。
測試方式為插入大量文字型資料於資料庫之中。
使用 Linux 及 Python 為測試環境與工具。

測試程式與資料

測試方法

測試程序

  1. 在 Linux 命令模式下,使用資料庫工具 mysql。
  2. 在 Linux 命令模式下,測試資料庫環境,執行:
    echo 'SELECT VERSION();' | mysql --host=localhost --database=test
  3. 使用 mysql 工具,執行 CRAZY.sql,建立測試表格,執行:
    mysql --host=localhost --database=test < CRAZY.sql
  4. 若資料庫測試表格 CRAZY 已存在,則在 Linux 命令模式下,測試資料庫環境,執行:
    echo 'DROP TABLE CRAZY;' | mysql --host=localhost --database=test
  5. 在 Linux 命令模式下,確認資料庫環境工作正常,執行:
    time python mySQLVer.py
  6. 在 Linux 命令模式下,新增 5 筆資料,執行:
    time python iCRAZY.py 5
  7. 在 Linux 命令模式下,確認資料庫表格插入正常,執行:
    time python qCRAZY.py 5
  8. 使用 mysql 工具,清除測試表格中資料,執行:
    echo 'TRUNCATE TABLE CRAZY;' | mysql --host=localhost --database=test
  9. 準備 Linux 效能監測工具。
  10. 在 Linux 命令模式下,新增 10000 筆資料,執行:
    time python iCRAZY.py 10000
  11. 查看 Linux 效能影響程度並加以記錄。
  12. 重複動作 (10) 100 次,監測效能影響程度,並加以記錄。

Linux 測試所需相關套件表

mysql-client-5.5 - MySQL database client binaries
mysql-client-core-5.5 - MySQL database core client binaries
mysql-common - MySQL database common files, e.g. /etc/mysql/my.cnf
mysql-server - MySQL database server (metapackage depending on the latest version)
mysql-server-5.5 - MySQL database server binaries and system database setup
mysql-server-core-5.5 - MySQL database server binaries
mydumper - High-performance MySQL backup tool
mylvmbackup - quickly creating backups of MySQL server's data files

mysql-testsuite - MySQL testsuite
mysql-testsuite-5.5 - MySQL testsuite
mysql-utilities - collection of scripts for managing MySQL servers
mysql-workbench - MySQL Workbench - a visual database modeling, administration and queuing tool
mysql-workbench-data - MySQL Workbench -- architecture independent data
mysqltuner - high-performance MySQL tuning script

python-mysqldb - Python interface to MySQL
python-mysqldb-dbg - Python interface to MySQL (debug extension)
python-mysql.connector - pure Python implementation of MySQL Client/Server protocol

libmyodbc - the MySQL ODBC driver
libmysql++-dev - MySQL C++ library bindings (development)
libmysql++-doc - MySQL C++ library bindings (documentation and examples)
libmysql++3 - MySQL C++ library bindings (runtime)
libmysql-cil-dev - MySQL database connector for CLI
ċ
CRAZY.tar.gz
(4k)
李智,
2013年10月1日 下午8:47
Ĉ
李智,
2013年10月15日 上午4:41