0

我有一个我正在开发的系统如下:

- 在任何时候,三个或四个客户端通过 TCP 套接字向中央服务器发送数据。
-Windows 7 Pro,2.4ghz 双核 Xeon 服务器,具有 4gb(即将成为 8gb)RAM,其中包含接收客户端数据的 C# ASPX Web 应用程序以及随后放置数据的 MySQL 数据库进入。
- 存储数据库备份的迷你电脑,每晚都会进行备份。我运行的批处理文件在没有传入 TCP 流量时工作正常,是:

@echo off
echo 运行转储...
net use z: \\BackupComputerName\SharedFolder >c:\debuglog.txt 2>&1
cd C:\Program Files\MySQL\MySQL Server 5.5\bin
mysqldump.exe -uroot -pmypassword - -result-file="z:\backup.sql" database_name
echo 完成!

现在,数据库转储只有大约 5 兆字节。即便如此,我注意到当 Xeon 服务器在传入 TCP 流量时执行它们时,客户端 TCP 套接字即使没有完全断开连接也会显着减慢。并且数据库转储没有成功到备份机器。事实上,它于昨晚 8 点 20 分开始在 Windows 任务管理器中运行,到现在(下午 12 点 21 分),它仍然列为正在运行!(还没有生成备份文件。)我认为我的一个客户在昨晚触发备份任务大约一分钟后死亡并不是巧合。

任何关于如何重新配置​​备份例程和/或系统配置以使其工作的想法将不胜感激。

4

1 回答 1

1

mysqldump创建本地文件,然后使用rsync--bwlimit选项,或robocopy使用/IPG:n将文件复制到网络共享的选项:

@echo off
echo Running dump...
net use z: \\BackupComputerName\SharedFolder >c:\debuglog.txt 2>&1
cd C:\Program Files\MySQL\MySQL Server 5.5\bin
mysqldump.exe -uroot -pmypassword --result-file="%temp%\backup.sql" database_name
robocopy "%temp%\backup.sql" z:\ /IPG:100
echo Done!
于 2012-07-21T20:49:38.977 回答