タグ付けされた質問 「optimization」

最適化は、システムの一部の側面をより効率的に機能させるか、使用するリソースを少なくするためにシステムを変更するプロセスです。

8
rsyncがNFSより速いのはなぜですか?
数日前、私は(少なくとも私にとって)奇妙なことに気づきました。私はrsyncを実行して同じデータをコピーし、その後それをNFSマウント(という名前で)に削除しました/nfs_mount/TEST。これ/nfs_mount/TESTはからホスト/エクスポートされnfs_server-eth1ます。両方のネットワークインターフェイスのMTUは9000であり、その間のスイッチはジャンボフレームもサポートしています。私が行う場合rsync -av dir /nfs_mount/TEST/、私はネットワーク転送速度XのMBpsのを取得します。もしそうならrsync -av dir nfs_server-eth1:/nfs_mount/TEST/、少なくとも2X MBpsのネットワーク転送速度が得られます。私のNFSマウントオプションはnfs rw,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountvers=3,mountproto=tcpです。 結論:両方の転送は、同じネットワークサブネット、同じワイヤ、同じインターフェースを経由し、同じデータを読み取り、同じディレクトリに書き込みます。違いは、NFSv3経由、rsync経由の違いのみです。 クライアントはUbuntu 10.04、サーバーUbuntu 9.10です。 どうしてrsyncの方がずっと速いのですか?NFSをその速度に合わせる方法は? ありがとう 編集:rsyncを使用してNFS共有またはSSHに書き込み、NFSサーバーにローカルに書き込みます。どちらの場合もrsync -av、明確な宛先ディレクトリから始めます。明日は普通のコピーで試します。 Edit2(追加情報):ファイルサイズの範囲は1KB〜15MBです。ファイルはすでに圧縮されていますが、さらに圧縮しようとしましたが成功しませんでした。それからtar.gzファイルを作成しましたdir。パターンは次のとおりです。 rsync -av dir /nfs_mount/TEST/ =最も遅い転送。 rsync -av dir nfs_server-eth1:/nfs_mount/TEST/=ジャンボフレームを有効にした最速のrsync。ジャンボフレームを使用しない場合は少し遅くなりますが、NFSに直接接続するフレームよりもかなり高速です。 rsync -av dir.tar.gz nfs_server-eth1:/nfs_mount/TEST/ = tar.gzに相当しないものとほぼ同じ。 cpおよびを使用したテストscp: cp -r dir /nfs_mount/TEST/=よりわずかに速いがrsync -av dir /nfs_mount/TEST/、それでも大幅に遅いrsync -av dir nfs_server-eth1:/nfs_mount/TEST/。 scp -r dir /nfs_mount/TEST/=全体で最速、わずかに克服rsync -av dir …

3
ServerLimit、MaxClients、MaxRequestsPerChildディレクティブの最適値
トラフィックが多いサイトでは、ユーザーが生成した動的コンテンツを大量に実行しています。 サーバーは専用サーバーで、合計4つのIntel(R)Xeon(R)CPU X3210 @ 2.13GHzプロセッサーを搭載しています。サーバーに4GBのRAMがあり、MySQLデータベースが別のサーバーで実行されることを考慮して、ServerLimitおよびMaxClients apacheのディレクティブの最適値を知る必要があります。パネルは、CentOSを使用したDirectAdminです。 以下は私の現在のディレクティブですが、5,000人以上のユーザーがいるピーク時に重要なラグに気づきます-ページが高速に生成されるように見えるため(ページ生成時間カウンターを実装しているため)、これは完全にMySQLの障害ではありませんが、ページが応答を開始し、ブラウザに送信されるまでの接続遅延。 <IfModule prefork.c> StartServers 800 MinSpareServers 20 MaxSpareServers 60 ServerLimit 900 MaxClients 900 MaxRequestsPerChild 2000 </IfModule> Timeout 90 KeepAlive On KeepAliveTimeout 5 topコマンドを使用してサーバーを監視すると、CPU使用率がピーク時に20%〜30%を超えることはありません。また、MySQLサーバーの使用率は30〜50%であり、遅いクエリの修正に常に取り組んでいますが、それは別の問題です。静的なページもピーク時にロードするのに時間がかかるため、DBのボトルネックではないことを知っています。 これらの値を最適化するためのヒントは大歓迎です。

5
MySQLのどの構成オプションが最大の速度改善を提供しますか?
MySQLのどの構成オプションが最大の速度改善を提供しますか? 実際の構成ファイルの改善、テーブルの種類、ハードウェアのセットアップ、レプリケーションなどについて疑問に思っています。クエリ構造とテーブル構造以外のものはすべて(WebサイトとStack Overflowで簡単に見つけることができます)。クエリキャッシュ設定のようなものが、あなたに最高の速度を与えましたか?ドライブはどうですか。外部RAIDまたは内部RAIDに配置する方が良いでしょうか?レプリケーションは、特に読み取りの大きなクエリでパフォーマンスを向上させましたか? MySQLのパフォーマンスを改善するために、他にどのような設定/変更を加えましたか? 注:これらは使用量に非常に依存していること(つまり、小さなWebサイトとデータウェアハウス)を理解していますが、ほとんどの場合、おそらくさまざまなサイト/システムで作業していると思うので、さまざまな状況。また、いくつかの技術は状況間で移転できると思います。

3
rsyncのパフォーマンスとスループットの最大化-直接接続されたギガビットサーバー
CentOS 6.5を実行する2つのDell R515サーバーがあり、それぞれのBroadcom NICの1つがもう1つに直接接続されています。直接リンクを使用して、rsh over sshを使用して、ペアのメインサーバーからセカンダリにバックアップを毎晩プッシュします。トラフィックを監視すると、約2MBpsのスループットが見られますが、これはギガビットポートから予想されるよりもはるかに低いです。両側でMTUを9000に設定しましたが、何も変わらないようです。 使用可能な最大スループットに到達するための推奨される設定と最適化のセットはありますか?さらに、rsync over ssh(または潜在的に単なるNFS)を使用して数百万のファイル(〜6Tbの小さなファイル-巨大なZimbraメールストア)をコピーしているため、探している最適化は特定のユースケースにより具体的である必要があるかもしれません。 それが重要な場合、私は両側でext4を使用しています ありがとう 編集:私は次のrsyncオプションを使用して、ほぼ同様の結果を得ました。 rsync -rtvu --delete source_folder/ destination_folder/ rsync -avHK --delete --backup --backup-dir=$BACKUPDIR source_folder/ destination_folder/ 現在、cp同じダイレクトケーブルリンクを使用してNFSエクスポートに使用する場合、同じレベルのパフォーマンスの低下が見られます。 EDIT2:同期を完了した後、実行できiperf、パフォーマンスが約990Mbits / secであることがわかりました。遅延は実際に使用されているデータセットが原因でした。

7
100万個のファイルをリモートサーバーと効率的に同期するオプションはありますか?
私が働いている会社には、「プレイリスト」と呼ばれるものがあります。これは、それぞれ100〜300バイトの小さなファイルです。それらの約百万があります。それらの約100,000は1時間ごとに変更されます。これらのプレイリストは、異なる大陸にある他の10台のリモートサーバーに1時間ごとにアップロードする必要があり、理想的には2分以内にすばやく実行する必要があります。マスターで削除されたファイルは、すべてのレプリカでも削除されることが非常に重要です。現在、インフラストラクチャにLinuxを使用しています。 内容を比較せずにファイル全体をコピーするために、-Wオプションでrsyncを試すことを考えていました。まだ試していませんが、rsyncの経験が豊富な人なら、それが実行可能なオプションかどうかを教えてくれるでしょうか? 他にどのようなオプションを検討する価値がありますか? 更新: lsyncdオプションを回答として選択しましたが、これは最も人気があったためです。その他の推奨代替案も独自の方法で有効です。

2
静的コンテンツのみを提供するサイトのIIS 7.5最適化
スタック交換サイトが使用するhttp://sstatic.net/サイトと同様に、Webアプリケーションの静的コンテンツを提供するためのCookieフリードメインを設定しようとしています。 私の質問は、そのようなドメインのIIS 7.5セットアップに対してどのような最適化を行うことができるかということです。たとえば、静的コンテンツの提供以外には一切責任を負わないので、ASP.NET統合を無効にすることはこのサイトにとって良い動きでしょうか? このようなサイトをIIS 7.5でセットアップする際の提案や参照は大歓迎です。 編集 明確にするために、これはサーバー上の唯一のサイトではないため、推奨される最適化はサーバーレベルの構成ではなくサイトレベルを対象とする必要があります。

3
ddコマンドの最適なバイトサイズを決定する方法
dd if = / dev / hda of = / dev / hdbを実行すると、ハードドライブの深いコピーが実行されることを知っています。「bs」オプションを使用して、一度に読み書きされるバイト数(512)を増やすことで、プロセスを高速化できると聞いたことがあります。 私の質問は: ハードドライブからコピーするための理想的なバイトサイズを決定するものは何ですか? そして なぜそれが理想的なバイトサイズを決定するのですか?

7
ディレクトリ内のファイルが多すぎますか?(ネットからデータをダウンロードする)
サーバーフォールトで回答できるため、 この質問はStack Overflowから移行されました。 9年前に移行され ました。 ご挨拶、 さまざまな写真のWebサイトからの画像を処理するスクリプトをいくつか書いています。現在、私はこのすべてのデータを同じディレクトリ内の個々のテキストファイルに保存しています。 ディレクトリはWebアクセス可能です。エンドユーザーは、ユーザーが必要とするファイルへのパスを返すWebサービスを呼び出します。 これらのすべてのファイルを同じディレクトリに置くことで、どの段階でパフォーマンスに影響が出るのでしょうか?(もしあれば)

3
1,000M行のMySQLテーブルの構築
この質問は、コメントの提案、複製の謝罪に基づいて、Stack Overflowから再投稿されています。 ご質問 質問1:データベーステーブルのサイズが大きくなると、どのようにMySQLを調整してLOAD DATA INFILE呼び出しの速度を上げることができますか? 質問2:コンピューターのクラスターを使用して、異なるCSVファイルをロードしたり、パフォーマンスを改善したり、強制終了したりしますか?(これは、ロードデータと一括挿入を使用した明日のベンチマークタスクです) ゴール 画像検索用の特徴検出器とクラスタリングパラメーターのさまざまな組み合わせを試しています。その結果、タイムリーに大きなデータベースを構築できる必要があります。 マシン情報 マシンには256ギガバイトのRAMがあり、データベースを配布することで作成時間を改善する方法がある場合、同じ量のRAMを使用できる別の2つのマシンがありますか? テーブルスキーマ テーブルスキーマは次のようになります +---------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+------------------+------+-----+---------+----------------+ | match_index | int(10) unsigned | NO | PRI | NULL | | | cluster_index | int(10) unsigned | NO | PRI …

6
VPSで実行されるapache / php / mysqlを高負荷に最適化する
512mのRAMを搭載したVPSでのapache / mysqlサーバーの最適化に関する質問。通常の負荷では、すべてが高速で実行され、接続の遅延はありません。ただし、トラフィックの多い日(5万回以上のアクセス)を取得すると、サイトがクロールされ、Apacheからコンテンツを取得するのに30秒以上かかります。 このサイトはExpression Engine(CMS)(PHP)で実行されており、私は彼らの高負荷最適化ガイドに従っています。私はグーグルで検索し、かなりの数のApacheを運んで、現在の場所に到達しましたが、一定の応答時間を取得する必要があります。 これは、(私がやろうとしていることのために)十分なRAMを持っているため、ここでの「低メモリ用に最適化」の質問とは異なると思われます。私は、サーバーが高負荷で窒息しないようにする必要があります。 再表現はありますか?

5
SpamAssassin(spamd)のメモリ使用を最小限に抑える方法
DebianでSpamAssassin(Pyzor、AWLおよびBayesが無効、sa-compileが有効なデフォルト構成)を使用しており、spamd子プロセスはそれぞれ32で約100〜150MB(実メモリ約50MB)を消費します。ビットサーバー、および64ビットサーバーではこれの約2倍(論理的には十分)です。一般に2つの子プロセスがありますが、混雑時には5(最大)が実行される可能性があります。 ISTMでは、200〜600MBがこのタスクの多くのメモリであるとしています。フィルター構造の一部としてSAを引き続き使用したいのですが、それほど多くのメモリを正当化することが難しくなっています。 各子プロセスが使用するメモリの量を減らす方法はありますか?(あるいは、単一の子プロセスを非常に高速にして、最大の子を2のような値に設定できるようにしますか?)。精度が低下する、または低下する可能性のあるオプションを含め、すべてのオプションを検討します。 私はすでにSA wikiの「メモリ不足の問題」ページを読みました。何の役にも立ちません。5 MBを超えるメッセージはSAでスキャンされません。

6
オンラインの最初の日:サイトを殺さない方法
たくさんのデータ(大きな画像など)を備えたこの派手な新しいサイトがあり、それをオンラインにしようとしているとします。最初の数日間に「あまりにも」宣伝をすると、サイトはリクエストに圧倒されます。 このリスクを軽減するにはどうすればよいですか? 私は考えました SOやSFのように、徐々に公開されます。「プライベート」ベータ、パブリックベータ、パブリック Xを許可 接続 セッションを同時に行うため、接続ユーザーはサイトの操作感が良好であり、他のユーザーにはすてきな謝罪メッセージが表示されます できません: 最初の数日後、サイトのトラフィックが大幅に少なくなるため、サーバーを追加購入します。



2
Linuxスロースタート:IPルートを変更しても初期ウィンドウに影響がない
以下のように、マシンのtcp初期ウィンドウを10に変更しました [user@site etc]$ sudo ip route change default via 17.255.209.1 dev eth0 proto static initcwnd 10 そしてtcp_slow_start_after_idle以下のように変更 [user@site etc]$ sudo sysctl -a | grep tcp_slow_start_after_idle net.ipv4.tcp_slow_start_after_idle = 0 IPルートショーの確認は以下に与えられています [user@site etc]$ ip route show default via 17.255.209.1 dev eth0 proto static initcwnd 10 169.254.0.0/16 dev eth0 scope link metric 1002 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.