0

私は次のように開発しているシステムを持っています:

-いつでも、TCPソケットを介して中央サーバーにデータを送り込んでいる3つまたは4つのクライアント。
-4GB(まもなく8GB)のRAMを搭載したWindows 7 Pro、2.4ghzデュアルコアXeonサーバー。これには、クライアントデータを受信するC#ASPX Webアプリケーションと、データが配置されるMySQLデータベースの両方が格納されます。の中へ。
-毎晩行われるデータベースのバックアップを保存するミニPC。私が実行するバッチファイルは、着信TCPトラフィックがない場合に正常に機能します。

@echooffecho
実行中のダンプ...
netuse 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メガバイトです。それでも、着信TCPトラフィックがあるときにXeonサーバーがそれらを実行すると、クライアントのTCPソケットは、完全に切断されていない場合でも、大幅に遅くなります。また、データベースダンプは、バックアップマシンに正常に到達しません。実際、昨夜の午後8時20分にWindowsタスクマネージャーで実行を開始し、現在(午後12時21分)現在も実行中としてリストされています。(バックアップファイルはまだ生成されていません。)昨夜バックアップタスクがトリガーされてから約1分後にクライアントの1人が死亡したのは偶然ではないと思います。

これを機能させるためにバックアップルーチンやシステム構成を再構成する方法についてのアイデアをいただければ幸いです。

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 に答える