ここで少し奇妙な問題があります。ウェブサイトを新しいソフトウェア プラットフォームに移行しています。この移行の一環として、ある Amazon S3 バケットから別のバケットにファイルをコピーする必要があります。何十万ものファイルがあります。
これを行うには、所有しているソフトウェア (phpFox) も使用する必要があります。基本的にphpフレームワーク。
ジョブは、URL のオフセットを使用して呼び出すセグメントに分割されます。
基本的に: 10 個のファイルをコピーし、必要に応じてデータベースを更新します。オフセットを 10 ずつ増やします。すすぎを繰り返します。
API トラフィックは軽く、サーバーの負荷は 1% 未満ですが、1 台のマシンでサーバーに対して 2 つ以上のタブを開くと、Web サーバー (Apache) がキューに入っているかのように、スクリプトの速度が比例して遅くなり始めます。コマンドを並行して実行するのではなく、コマンドを実行します。
多くのマシンで 2 つのタブを開くと、期待どおりにスケールアップすることがわかりました。アップリンクを飽和させるか、サーバーに顕著な負荷をかけるために、部屋をラップトップでいっぱいにする必要があります。コミカルではありますが、これは非常に非現実的であり、一般的にお尻の痛みです。ここにはもっと良い方法があるはずです。
最大予備プロセス、子ごとのリクエストなどを 10 倍に増やしてみましたが、速度に目立った増加はありませんでした。何が欠けていますか?一時的に誰でも好きなだけ接続して夢中になれるようにApacheにうまく伝えるにはどうすればよいですか?
PHP 5.3.8 PHP Sapi: apache2handler PHP ロード済み拡張機能: コア日付 ereg libxml openssl pcre sqlite3 zlib bcmath カレンダー ctype curl dom fileinfo フィルター ftp gd ハッシュ iconv SPL json mbstring mysql セッション 標準 posix リフレクション Phar SimpleXML ソケット SQLite imap トークナイザー xml xmlreader xmlwriter zip apache2handler
MYSQL: MySQL 5.0.92-コミュニティ
読んでくれてありがとう!