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

サーバーのハードウェアとソフトウェアのパフォーマンス、またはネットワークのパフォーマンスに関する質問。

5
bzip2が遅すぎる。複数のコアが利用可能
私はこのコマンドを実行しています: pg_dumpall | bzip2 > cluster-$(date --iso).sql.bz2 時間がかかりすぎます。でプロセスを見ますtop。bzip2プロセスには、1つのコアの約95%とpostgresの5%が必要です。waエントリーは低いです。これは、ディスクがボトルネックではないことを意味します。 パフォーマンスを向上させるにはどうすればよいですか? bzip2がより多くのコアを使用するようにします。サーバーには16個のコアがあります。 または、bzip2の代わりに使用しますか? パフォーマンスを向上させるにはどうすればよいですか?

5
シェルプロンプトを表示するのに数十秒かかるのはなぜですか?
サーバーにSSHで接続した後(またはMacでターミナルを開いた後でも)、ログインバナーがすぐに印刷されますが、シェルプロンプトが表示されるまで10秒から1分かかります。その後、パフォーマンスは良好で、ネットワーク遅延は異常ではありません。 これは、計算が難しく、メモリを大量に消費する、またはIOを大量に消費するタスクのようには見えません。何十億ものCPUサイクルすべてで何をしているのでしょうか?
30 ssh  performance  shell 

5
最新のファイルシステムで何百万ものファイルのパフォーマンスにどのような影響がありますか?
ext4(dir_indexを有効にした)を使用して約3Mファイル(平均750KBサイズ)をホストし、使用するフォルダースキームを決定する必要があるとしましょう。 で最初のソリューションは、我々はファイルにハッシュ関数を適用し、(最初のレベルのための1つの文字と第二のレベルに2つの文字である)フォルダ二つのレベルを使用しますので、というfilex.forハッシュに等しいabcde1234、我々は上/パスに保存します/ a / bc /abcde1234-filex.for。 第二の溶液、我々はファイルにハッシュ関数を適用し、(最初のレベルのために2つの文字及び第レベルに2つの文字である)フォルダ二つのレベルを使用します。したがって、あるfilex.forハッシュに等しいabcde1234を、我々はそれを保存します/パス/ ab / de /abcde1234-filex.for。 最初のソリューションでは、フォルダー(ファイルが存在する最後のフォルダー)あたり平均732ファイルの次のスキーム/path/[16 folders]/[256 folders]を使用します。 2番目のソリューションでは/path/[256 folders]/[256 folders]、フォルダーごとに平均45個のファイルがあります。 このスキーム(基本的にはnginxキャッシングシステム)からファイルの書き込み/リンク解除/読み取り(ただしほとんどは読み取り)を行うことを考えると、いずれかのソリューションを選択した場合、パフォーマンスの意味で重要ですか? また、この設定を確認/テストするために使用できるツールは何ですか?

8
ZFSから1,000万以上のファイルを効果的に削除する
/ tmpの下に約30Mのファイルを誤って作成したバグのあるプログラムを作成しました。(このバグは数週間前に導入され、1秒あたり2つのサブディレクトリが作成されていました。)/ tmpの名前を/ tmp2に変更できたので、ファイルを削除する必要があります。システムはFreeBSD 10で、ルートファイルシステムはzfsです。 一方、ミラー内のドライブの1つが故障したため、交換しました。ドライブには2つの120GB SSDディスクがあります。 問題は、ハードドライブの交換とアレイ全体の再同期化に1時間もかからなかったことです。ファイル/ tmp2の削除もまた別の話です。ファイルを削除する別のプログラムを作成しましたが、1秒あたり30〜70個のサブディレクトリしか削除できません。すべてのファイルを削除するには2〜4日かかります。 アレイ全体の再同期化に1時間かかるのに、ディスクから削除するのに4日間かかることはどのように可能ですか?なぜこんなにパフォーマンスが悪いのですか?70削除/秒は非常にパフォーマンスが悪いようです。 / tmp2のinodeを手動で削除することもできますが、それでもスペースが解放されませんよね? これはzfsの問題なのか、ハードドライブの問題なのか

11
プロセスのメモリ/ CPU使用率を経時的に監視および記録する方法 [閉まっている]
私は、バルーニングメモリプロセスがスワップをいっぱいにし、マシン全体(Apacheなど)を殺すスワップデスなどの問題を診断する方法を探しています。 私はすでにサボテンを使用しており、nagios(ではないが)またはmuninをセットアップできますが、個々のプログラムの使用状況を記録することはできません-全体的なステータスだけです。 30秒ごとに>>というファイルをスクリプトにロールできることは知っていますが、既存の成熟したソリューションが既に存在するかどうかを確認したいと思います。 繰り返しますが、理想的には: N秒ごとにプロセスのメモリ使用量を記録する N秒ごとにプロセスのCPU使用率を記録する チャートと履歴をサポート サポート平均-mysqldが前日に43%CPUを使用し、平均400MBのメモリを使用したように 無料でオープンソースであること プロセス名は事前に知られていないため、事前に知っておくべきではありません。アイデアは、監視させてから、上位の違反者を確認することです。 私のシステムはLinux(OpenSUSE)です。


8
書き込み速度の要件:1.1GB / sの可能性?
ピーク時のパフォーマンスでは、1時間あたり50(「書き込みヘッド」)x 75 GBのデータをプッシュできるマシンが稼働します。これは、書き込み速度が約1100MB / sのピークパフォーマンスです。マシンから取得するには、2つの10GBiラインが必要です。私の質問は、どのようなサーバー+テクノロジーがそのようなデータフローを処理/保存できるのですか? 現在、データストレージではZFSを使用していますが、書き込み速度は問題ではありませんでした。(私たちはこれらの速度にさえ近づいていません)ZFS(Linuxではzfs)はオプションでしょうか?また、大量のデータを保存する必要があります。「ITガイド」では、合計で50〜75 TBの範囲が推奨されています。したがって、最初に生まれた子供を提供したいのでなければ、すべてのSSDを使用することはできません。 優れた返信に基づいたいくつかの追加: ピーク時の最大値は50x75GB /時間で、24時間未満です(ほとんどの場合<6時間) これがすぐに起こるとは考えていません。おそらく5〜10x75GB /時間で実行します。 それはプレアルファ版のマシンですが、要件は満たされるべきです(たとえ多くの疑問符が使われていても) マシンからサーバーへの接続としてNFSを使用します レイアウト:マシンの生成->ストレージ(これ)->(セーフRAID 6)->計算クラスター そのため、読み取り速度は必須ではありませんが、計算クラスターから使用することをお勧めします(ただし、これは完全にオプションです) ほとんどの場合、大きなデータファイルになります(多くは小さくありません)

4
ジョブを使用せずにPowerShellスクリプトを並行して実行するにはどうすればよいですか?
複数のコンピューターに対して、または複数の異なる引数を使用して実行する必要があるスクリプトがある場合、新しいPSJobをStart-Job生成するオーバーヘッドを発生させることなく、どのように並行して実行できますか? 例として、次のように、すべてのドメインメンバーの時刻を再同期します。 $computers = Get-ADComputer -filter * |Select-Object -ExpandProperty dnsHostName $creds = Get-Credential domain\user foreach($computer in $computers) { $session = New-PSSession -ComputerName $computer -Credential $creds Invoke-Command -Session $session -ScriptBlock { w32tm /resync /nowait /rediscover } } ただし、各PSSessionが接続してコマンドを呼び出すのを待ちたくありません。ジョブなしでこれをどのように並行して行うことができますか?

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のボトルネックではないことを知っています。 これらの値を最適化するためのヒントは大歓迎です。


7
運用サーバーでperfmonを実行しても大丈夫ですか?なぜ?
または、perfmonは、実稼働アクティビティをシミュレートする負荷テストを備えたDev / QAサーバーに限定する必要がありますか? 2日間perfmonを実行して(SQL ServerマスターBrent Ozarが提案しているように)、Webアプリのデータベースパフォーマンスの全体的な感触を取得したいと思います。

1
Xeon Skylake SMPでの予期せぬ原因不明の低速(および異常な)メモリパフォーマンス
Supermicro X11DPH-Iマザーボードを搭載した2x Xeon Gold 6154 CPUと96GB RAMを使用してサーバーをテストしましたが、1 CPU(1ソケットが空)、同様のデュアルCPU Haswell Xeon E5-2687Wv3(この一連のテスト用ですが、他のBroadwellは同様に動作します)、Broadwell-E i7s、およびSkylake-X i9s(比較用)。 さまざまなmemcpy関数やメモリ割り当て(回避策が見つかったため、以下のテストではカバーされていません)に関しては、メモリが高速なSkylake XeonプロセッサはHaswellよりも高速に実行されることが予想されますが、代わりに両方のCPUがインストールされています、Skylake XeonsはHaswell Xeonsのほぼ半分の速度で動作し、i7-6800kと比較するとさらに遅くなります。さらに奇妙なのは、Windows VirtualAllocExNumaを使用してメモリ割り当て用のNUMAノードを割り当てる場合です。プレーンメモリコピー機能は、リモートノードとローカルノードではパフォーマンスが低下すると予想されますが、SSE、MMX、AVXレジスタを使用するメモリコピー機能は、多くの場合実行しますローカルNUMAノードよりもリモートNUMAノードの方が高速です(何?)。上記のように、Skylake Xeonsでは、 これがマザーボードまたはCPUのバグなのか、UPI対QPIのバグなのか、上記のどれなのかはわかりませんが、BIOS設定の組み合わせはこれを利用していないようです。BIOSでNUMA(テスト結果に含まれない)を無効にすると、SSE、MMX、AVXレジスタを使用するすべてのコピー機能のパフォーマンスが向上しますが、他のすべてのプレーンメモリコピー機能も大きな損失を被ります。 テストプログラムでは、インラインアセンブリ関数と_mm組み込み関数の両方を使用してテストしました。アセンブリ関数を除くすべてに対してVisual Studio 2017でWindows 10を使用しました。msvc++はx64のasmをコンパイルしないため、-c -O2msvc ++リンカーに含まれているフラグを使用して、objファイルをコンパイルします。 システムがNUMAノードを使用している場合、各NUMAノードに対してVirtualAllocExNumaを使用して新しいメモリ割り当て演算子をテストし、各メモリコピー機能ごとに16 MBのメモリバッファコピーの累積平均を100回行い、どのメモリ割り当てをオンにするかを切り替えますテストの各セット間。 100個のソースバッファと100個の宛先バッファはすべて64バイトに揃えられ(ストリーミング機能を使用したAVX512までの互換性のため)、ソースバッファの増分データと宛先バッファの0xffに一度初期化されます。 一部の構成でははるかに高速で、他の構成でははるかに低速だったため、各構成で各マシンで平均されるコピーの数は異なりました。 結果は次のとおりです。 Haswell Xeon E5-2687Wv3 32GB DDR4-2400(10c / 20t、25 MBのL3キャッシュ)を搭載したSupermicro X10DAi上の1つのCPU(1つの空のソケット)。ただし、ベンチマークは100ペアの16MBバッファーを循環するため、L3キャッシュヒットはおそらく発生しません。 --------------------------------------------------------------------------- Averaging 7000 copies of 16MB of data per function …

4
VMスナップショットがパフォーマンスに影響するのはなぜですか?
VMware KBの記事の1つで、スナップショットがVMのパフォーマンスに直接影響することを読みました。 しかし、私のチームは、スナップショットがパフォーマンスにどのように影響するかを尋ね続けています。 私は、スナップショットがパフォーマンスキラーであるという声明の背後にある確固たる理由を伝えたいと思います。 スナップショットが実際にパフォーマンスにどのように影響するかについて、誰でも少し理論を説明できますか?ハードディスクのディスクI / Oレートが遅いという理由だけですか?


6
KVMディスクのパフォーマンスが非常に低い(qcow2ディスクファイル+ virtio)
KVMゲストのセットアップ中に深刻なディスクパフォ​​ーマンスの問題が発生しています。単純な使用ddテストを、QCOW2画像が(ミラーリングRAIDアレイ)上に存在することをホスト上のパーティションは、上で書き込み120メガバイト/ sの私のゲストからの範囲の書き込みを取得しながら、0.5 3メガバイト/秒にし。 ゲストはいくつかのCPUと4GのRAMで構成されており、現在は何も実行していません。現時点では完全に最小限のインストールです。 パフォーマンスはを使用してテストされtime dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000ます。 ゲストはvirtioを使用するように構成されていますが、これはパフォーマンスに影響を与えないようです。 ホストパーティションは4kbでアライメントされています(とにかく、ホストのパフォーマンスは良好です)。 ディスクでライトバックキャッシュを使用すると、報告されるパフォーマンスが大幅に向上しますが、使用しないほうがよいでしょう。それがなくても、パフォーマンスはこれよりもはるかに優れているはずです。 ホストとゲストはどちらもUbuntu 12.04 LTSを実行しており、qemu-kvm 1.0 + noroms-0ubuntu13とlibvirt 0.9.8-2ubuntu17.1が付属しています。 ホストではデッドラインIOスケジューラが有効になっており、ゲストにはnoopがあります。 kvmのパフォーマンスを調整するガイドがたくさんあるようで、最終的にはそこに到達しますが、この時点でこれよりもはるかに優れたパフォーマンスを得る必要があるように思われるので、すでに何かが非常に間違っているようです。 アップデート1 そして突然、今すぐテストに戻ってみると、26.6 MB /秒です。これは私がw / qcrow2に期待したものに似ています。何が問題だったのかについて誰かが何か考えを持っている場合(そして不思議なことに再び戻る場合)に、私は質問を残します。 更新2 私はqcow2のパフォーマンスについて心配することを止め、rawイメージでRAID1のLVMに切り替わるだけで、virtioを使用しながら、ディスクドライブでcache = 'none'およびio = 'native'を設定しました。書き込みパフォーマンスがappxになりました。上記と同じ基本テストを使用して135MB / sであるため、完全に回避できる場合に問題が何であったかを理解することはあまり意味がありません。

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