1

要約: CentOS 6.3 では、MacOSX 10.8.2 と比較して、挿入/削除/更新トランザクションに 10 ~ 15 倍の時間がかかっています。

Perl (DBD::SQLite 1.37) の SQLite (3.7.12) を使用しています。私のアプリケーションには、トランザクション内で複数の書き込み (削除、更新、および挿入) を行う場所がいくつかあります。

私は3台のマシン間でタイミングを比較してきました:

  • MBP: 通常のディスクを搭載した 2010 MacBook Pro
  • MBA: SSD を搭載した 2011 MacBook Air
  • CentOS 6.3 サーバー (AMD Opteron 3250、1 TB ソフトウェア RAID、4 コア、8 GB RAM)

MBP および MBA と比較して、CentOS サーバーではトランザクションに約 10 倍から 15 倍の時間がかかります。予想通り、SSD を搭載しているため、MBA は少し高速です。pragma synchronous をオフにすると、予想どおり、素晴らしく高速です。

毎回まったく同じテスト シーケンスを実行しているため、最終的には同じデータベースが作成されます。テストが実行されている時点で、CentOS ボックスで実行されている (注目すべき) 他の機能はほとんどありません。

低レベルのディスク書き込みパフォーマンスをベンチマークすると、CentOS マシンは他のマシンよりも優れています。次はどこを見ればいいですか?

4

2 に答える 2

0

この問題は、/etc/fstab での ext3 ファイルシステムの構成方法にあることが判明しました。

これをよりよく理解するために、多くの実験とパフォーマンステストを行い、サーバー障害について書きました。

https://serverfault.com/questions/486677/should-we-mount-with-data-writeback-and-barrier-0-on-ext3

要約すると、ファイルシステムはbarrier=1でマウントされました。これをbarrier=0に変更し、 data=orderedと組み合わせて、「欠けていた」パフォーマンスを取り戻しました。

于 2013-03-26T23:56:34.153 に答える
0

依存関係を減らし始めます。

インメモリ データベースでテストを実行してみてください。

ストレート C で実行してみて、何とか perl ではないことを確認してください。ちょっと疑問ですが、モックアップは簡単なはずです。

于 2013-03-08T18:59:55.667 に答える