MySQL导入导出以及性能测试
最近做了MySQL的相关测试,包括备份数据的导入导出、压力测试等,因为数据量比较大,每次测试等待时间很长,所以自己动手写了相关
最近做了MySQL的相关测试,包括备份数据的导入导出、压力测试等,因为数据量比较大,每次测试等待时间很长,所以自己动手写了相关测试脚本,直接放后台screen运行即可:import.sh、dump.sh,需要读者对screen、mysqldump、tee等命令比较熟悉,screen的话可以参考我写的一篇关于screen的文章:,另外两个命令读者就在网上搜罗吧^_^,如有疑问可以联系我(QQ:349871740)。
我的mysqld启动方式如下:
/usr/local/mysql5/bin/mysqld_safe --defaults-file=/usr/local/mysql5/etc/innodb.cnf --datadir=/data1/mysql5/data/ --user=mysql &
以下是mysqldump出来的文件大小:
[root@localhost data1]# du -sh /data2/6_ddb_201204260120
47G /data2/6_ddb_201204260120
导入数据库之后:
[root@localhost mysql5]# du -sh data/
72G data/
以下是我的脚本具体内容:
[root@localhost data1]# more import.sh
::::::::::::::
import.sh
::::::::::::::
#!bin/bash
DIR=/data/script/db_back/
DIST=6
DDB=${DIST}_ddb_
MYSQL_BIN=/usr/local/mysql5/bin/
cd ${DIR}
if [ $? -eq 0 ] ; then
echo "`date -d today "+%Y-%m-%d %H:%M:%S"` Import Game Start!" | tee -a import.log
TIME=`date -d today +%Y%m%d%H%M`
#{ /usr/bin/time ${mysql} ddb >import.log
{ /usr/bin/time ${MYSQL_BIN}mysql ddb &1 | tee -a import.log
echo -e "`date -d today "+%Y-%m-%d %H:%M:%S"` Import Game Over!\n" | tee -a import.log
sleep 300
fi
::::::::::::::
dump.sh
::::::::::::::
#!/bin/sh
DIR=/data/script/db_back/
DIST=6
DDB=${DIST}_ddb_
MYSQL_BIN=/usr/local/mysql5/bin/
cd ${DIR}
if [ $? -eq 0 ] ; then
echo "`date -d today "+%Y-%m-%d %H:%M:%S"` Game Start!" | tee -a dump.log
TIME=`date -d today +%Y%m%d%H%M`
#{ /usr/bin/time ${MYSQL_BIN}mysqldump -Q -e -a -q --no-autocommit --single-transaction ddb | bzip2 -2 > ${DIST}_ddb_${TIME}.bz2; } 2>>dump.log
{ /usr/bin/time ${MYSQL_BIN}mysqldump -Q -e -a -q --no-autocommit --single-transaction ddb | bzip2 -2 > ${DIST}_ddb_${TIME}.bz2; } 2>&1 | tee -a dump.log
echo -e "`date -d today "+%Y-%m-%d %H:%M:%S"` Game Over!\n" | tee -a dump.log
sleep 300
rm -f ${DIST}_ddb_${TIME}.bz2
sleep 30
fi
[root@localhost data1]#
然后用下面的命令对导入和导出各测试10次,这两个测试跑完总时间用了5天左右,但是我是在业余时间做的测试,,所以前后时间间隔很长,后面还有压力测试,例如:mysqlslap,sql_bench等,随后附上。
[root@localhost data1]# for i in $(seq 10); do sh dump.sh ;done
[root@localhost data1]# for i in $(seq 10); do sh import.sh ;done
脚本中将测试结果输出到文本中,截取部分内容:
[root@localhost db_back]# tail -10 dump.log
2012-05-11 15:24:09 Game Start!
1147.64user 265.25system 45:49.79elapsed 51%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1major+330minor)pagefaults 0swaps
2012-05-11 16:09:59 Game Over!
2012-05-11 16:55:24 Game Start!
1149.02user 266.73system 44:25.40elapsed 53%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (4major+314minor)pagefaults 0swaps
2012-05-11 17:39:49 Game Over!
[root@localhost db_back]# tail -10 import.log
2012-05-07 02:29:26 Import Game Start!
1149.62user 67.70system 2:41:43elapsed 12%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (7major+1089minor)pagefaults 0swaps
2012-05-07 05:11:09 Import Game Over!
2012-05-07 05:16:09 Import Game Start!
1149.78user 66.98system 2:41:45elapsed 12%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (7major+1089minor)pagefaults 0swaps
2012-05-07 07:57:54 Import Game Over!
这次测试模拟线上服务器的真实环境,所以测试还是比较准确的,如果读者有类似环境,可以拿去加以修改应用,希望对读者有所帮助,测试过程中也能学习到很多拓展知识,需要我们去花大量的时间、精力去做。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Go language is an efficient, concise and easy-to-learn programming language. It is favored by developers because of its advantages in concurrent programming and network programming. In actual development, database operations are an indispensable part. This article will introduce how to use Go language to implement database addition, deletion, modification and query operations. In Go language, we usually use third-party libraries to operate databases, such as commonly used sql packages, gorm, etc. Here we take the sql package as an example to introduce how to implement the addition, deletion, modification and query operations of the database. Assume we are using a MySQL database.

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

HTML cannot read the database directly, but it can be achieved through JavaScript and AJAX. The steps include establishing a database connection, sending a query, processing the response, and updating the page. This article provides a practical example of using JavaScript, AJAX and PHP to read data from a MySQL database, showing how to dynamically display query results in an HTML page. This example uses XMLHttpRequest to establish a database connection, send a query and process the response, thereby filling data into page elements and realizing the function of HTML reading the database.

Analysis of the basic principles of the MySQL database management system MySQL is a commonly used relational database management system that uses structured query language (SQL) for data storage and management. This article will introduce the basic principles of the MySQL database management system, including database creation, data table design, data addition, deletion, modification, and other operations, and provide specific code examples. 1. Database Creation In MySQL, you first need to create a database instance to store data. The following code can create a file named "my

PHP is a back-end programming language widely used in website development. It has powerful database operation functions and is often used to interact with databases such as MySQL. However, due to the complexity of Chinese character encoding, problems often arise when dealing with Chinese garbled characters in the database. This article will introduce the skills and practices of PHP in handling Chinese garbled characters in databases, including common causes of garbled characters, solutions and specific code examples. Common reasons for garbled characters are incorrect database character set settings: the correct character set needs to be selected when creating the database, such as utf8 or u

How to integrate GoWebSocket with a database: Set up a database connection: Use the database/sql package to connect to the database. Store WebSocket messages to the database: Use the INSERT statement to insert the message into the database. Retrieve WebSocket messages from the database: Use the SELECT statement to retrieve messages from the database.
