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

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

4
FreeBSDのパフォーマンスチューニング:Sysctlパラメーター、loader.conf、カーネル
私は、FreeBSDのチューニングに関する知識をsysctl.conf/ loader.conf / KENCONF/などで共有したいと考えていました。最初は、アクティブな接続を最大100,000〜200,000にチューニングしたFreeBSDに関するIgor Sysoev(nginxの著者)のプレゼンテーションに基づいていました。FreeBSDの新しいバージョンは、はるかに多くを処理できます。 チューニングは、FreeBSD7-FreeBSD-CURRENT用です。7.2 amd64以降、それらの一部はデフォルトで適切に調整されています。7.0より前のバージョンでは、一部がブートのみ(経由で設定 /boot/loader.conf)であるか、まったく存在しません。 sysctl.conf: # No zero mapping feature # May break wine # (There are also reports about broken samba3) #security.bsd.map_at_zero=0 # Servers with threading software apache2 / Pound may want to rise following sysctl #kern.threads.max_threads_per_proc=4096 # Max backlog size # Note Application can …

13
ネットワークはディスクよりも高速になりましたか?
これはソフトウェア設計の質問です 私はスピードのために次のルールに取り組んでいました cache memory > memory > disk > network 各ステップは前のステップの5〜10倍です(たとえば、キャッシュメモリはメインメモリよりも10倍高速です)。 現在、ギガビットイーサネットの遅延はローカルディスクよりも少ないようです。そのため、大規模なリモートインメモリDBからの読み取り操作は、ローカルディスクの読み取りよりも高速である可能性があります。これは私のような古いタイマーには異端のように感じます。(ネットワークラウンドトリップを行わなくても済むように、ディスク上にローカルキャッシュを構築するのに少し時間を費やしただけです-したがって、私の質問) この分野での経験/数字/アドバイスはありますか? そして、はい、私が知るための唯一の本当の方法は構築し、測定することであることを知っていますが、私は一般的なルールについて疑問に思っていました。 編集: これは、一番上の回答の興味深いデータです。 同じデータセンター内での往復500,000 ns ディスクシーク10,000,000 ns これは私にとってショックです。私のメンタルモデルは、ネットワークの往復が本質的に遅いということです。そして、そうではありません-ディスクの「ラウンドトリップ」よりも10倍高速です。 Jeff attwoodがこのvの良いブログをトピックhttp://blog.codinghorror.com/the-infinite-space-between-words/に投稿しました
126 performance  io 

8
ハードウェアSATA RAID-10アレイ内の単一のディスクが、アレイ全体をきしむように停止させるにはどうすればよいですか?
前奏曲: 私はコードサルであり、私の小さな会社のシステム管理者としての任務をますます受けています。私のコードは私たちの製品であり、ますます私たちはSaaSと同じアプリを提供しています。 約18か月前、私はサーバーをプレミアムホスティング中心のベンダーからティアIVデータセンターのベアボーンラックプッシャーに移動しました。(文字通り、通りの向こう側。)このことは、ネットワーキング、ストレージ、監視など、はるかに多くのことを行っています。 大きな動きの一環として、ホスティング会社からリースされた直接接続ストレージを置き換えるために、SuperMicroシャーシ、3ware RAIDカード、Ubuntu 10.04、20個のSATAディスク、DRBDおよびに基づいて9TB 2ノードNASを構築しました。すべての愛情を込めて3件のブログの記事に記載されます:アップの構築&新9TB SATA RAID10 NFSv4のNASをテスト:パートI、パートIIとパートIIIを。 また、Cacit監視システムもセットアップします。最近、SMART値など、より多くのデータポイントを追加しています。 私はせずに、このすべてを行っていることができなかった素晴らしい boffins で ServerFaultの。楽しくて教育的な経験でした。私の上司は幸せです($$$のバケットを節約しました)、顧客は幸せです(ストレージコストは下がっています)、私は幸せです(楽しい、楽しい、楽しい)。 昨日まで。 停止および回復: 昼食後しばらくして、オンデマンドストリーミングメディアCMSであるアプリケーションからパフォーマンスの低迷のレポートを取得し始めました。ほぼ同時期に、Cacti監視システムが猛烈な電子メールを送信しました。より重要なアラートの1つは、iostat待機のグラフでした。 パフォーマンスが非常に低下したため、Pingdomは「サーバーダウン」通知を送信し始めました。全体的な負荷は中程度で、トラフィックの急増はありませんでした。 NASのNFSクライアントであるアプリケーションサーバーにログオンした後、ほとんどすべてが非常に断続的で非常に長いIO待機時間を経験していることを確認しました。そして、プライマリNASノード自体にホップすると、問題のアレイのファイルシステムをナビゲートしようとしたときに同じ遅延が明らかになりました。 フェイルオーバーの時間、それはうまくいきました。20分以内に、すべてが完全にバックアップおよび実行されることが確認されました。 死後: すべてのシステム障害の後、事後分析を実行して障害の原因を特定します。私が最初にしたことは、sshを箱に戻し、ログのレビューを開始することでした。完全にオフラインでした。データセンターへの旅行の時間。ハードウェアのリセット、バックアップ、実行。 で/var/syslog私はこの怖い見た目のエントリを見つけました: Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate …

27
2つのサーバー間で大量のファイルをすばやくコピーする方法
2つのサーブ(Ubuntu)間で大量のmp3を転送する必要があります。巨大とは、平均で300Kの約100万個のファイルを意味します。試しましたscpが、1週間ほどかかりました。(約500 KB /秒)HTTPで1つのファイルを転送すると、9〜10 MB /秒になりますが、すべてを転送する方法がわかりません。 それらすべてをすばやく転送する方法はありますか?

8
Linuxサーバーの最大接続数を制限するものは何ですか?
Linuxサーバーで開くことができるTCPソケットの最大数を制御するカーネルパラメーターまたはその他の設定は何ですか?より多くの接続を許可することのトレードオフは何ですか? apを使用してApacheサーバーを負荷テストしているときに、サーバーで開いている接続を最大限に簡単に拡張できることに気付きました。接続の再利用を許可するabの-kオプションを省略し、約10,000件を超えるリクエストを送信すると、Apacheは最初の11,0​​00件程度のリクエストを処理し、60秒間停止します。netstatの出力を見ると、TIME_WAIT状態の11,0​​00の接続が示されています。どうやら、これは正常です。TCP信頼性の理由でクライアントが接続を行った後でも、接続はデフォルトの60秒で開いたままになります。 これはサーバーをDoSする簡単な方法のように思えますが、そのための通常の調整と予防策は何だろうと思っています。 テスト結果は次のとおりです。 # ab -c 5 -n 50000 http://localhost/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 5000 requests Completed 10000 requests apr_poll: The timeout specified has …

4
XenでTCP accept()のパフォーマンスがそれほど悪いのはなぜですか?
私のサーバーが新しい着信TCP接続を受け入れる速度は、Xenでは本当に悪いです。ベアメタルハードウェアでの同じテストでは、3〜5倍の速度向上が示されています。 なぜXenの下でこれがそんなに悪いのですか? Xenを調整して、新しいTCP接続のパフォーマンスを改善できますか? この種のユースケースにより適した他の仮想化プラットフォームはありますか? バックグラウンド 最近、私は、Xenの下で実行されている社内開発のJavaサーバーのパフォーマンスのボトルネックを調査しています。サーバーはHTTPを話し、単純なTCP接続/要求/応答/切断呼び出しに応答します。 ただし、サーバーに大量のトラフィックを送信している場合でも、1秒あたり最大7000を超えるTCP接続を受け入れることはできません(8コアEC2インスタンス、Xenを実行するc1.xlargeで)。テスト中、サーバーは1つのコア(必ずしもCPU 0ではない)が80%を超えて非常に負荷がかかり、他のコアはほとんどアイドル状態になるという奇妙な動作も示します。これは、問題がカーネル/基礎となる仮想化に関連していると思うようになります。 ベアメタルの非仮想化プラットフォームで同じシナリオをテストすると、TCP accept()レートが35 000 /秒を超えるというテスト結果が得られます。これは、すべてのコアがほぼ完全に飽和しているUbuntuを実行しているCore i5 4コアマシン上で実行されます。私には、そのような数字は正しいと思われます。 再びXenインスタンスで、sysctl.confにあるほとんどすべての設定を有効化/調整してみました。受信パケットステアリングと受信フローステアリングを有効にし、スレッド/プロセスをCPUに固定しますが、明らかなゲインはありません。 仮想化を実行すると、パフォーマンスの低下が予想されます。しかし、この程度に?低速のベアメタルサーバーは、virtよりも優れています。5倍の8コア? これは本当にXenの予想される動作ですか? Xenを調整して、新しいTCP接続のパフォーマンスを改善できますか? この種のユースケースにより適した他の仮想化プラットフォームはありますか? この動作を再現する これをさらに調査して問題を特定すると、netperfパフォーマンステストツールが、私が経験している同様のシナリオをシミュレートできることがわかりました。netperfのTCP_CRRテストを使用して、さまざまなサーバー(仮想化および非仮想化の両方)からさまざまなレポートを収集しました。調査結果に貢献したい、または現在のレポートを調べたい場合は、https://gist.github.com/985475をご覧ください。 この問題が不十分に書かれたソフトウェアによるものではないことをどのように確認できますか? サーバーはベアメタルハードウェアでテストされており、使用可能なすべてのコアをほぼ飽和させます。 キープアライブTCP接続を使用すると、問題はなくなります。 何でこれが大切ですか? で、ESN(私の雇用者)私はのプロジェクトリードしていますBeaconpush、Javaで書かれた彗星/ウェブソケットサーバー。非常にパフォーマンスが高く、最適な条件下で与えられたほぼすべての帯域幅を飽和させることができますが、それでも新しいTCP接続をどれだけ高速にできるかに制限されています。つまり、ユーザーが頻繁に出入りする大きなユーザーチャーンがある場合、多くのTCP接続をセットアップ/ティアダウンする必要があります。接続を可能な限り長く維持するために、この問題を軽減しようとします。しかし、最終的に、accept()のパフォーマンスがコアの回転を妨げているため、それが気に入らないのです。 アップデート1 誰かがこの質問をHacker Newsに投稿しました。そこにはいくつかの質問/回答もあります。しかし、私はこの質問を、私が見つけたときに見つけた情報で最新の状態に保とうとします。 これをテストしたハードウェア/プラットフォーム: インスタンスタイプがc1.xlarge(8コア、7 GB RAM)およびcc1.4xlarge(2x Intel Xeon X5570、23 GB RAM)のEC2。使用されたAMIは、それぞれami-08f40561とami-1cad5275でした。また、誰かが「セキュリティグループ」(すなわち、EC2ファイアウォール)も影響を与える可能性があると指摘しました。しかし、このテストシナリオでは、このような外部要因を排除するためにlocalhostでのみ試しました。私が聞いたもう一つのうわさは、EC2インスタンスが100k PPS以上をプッシュできないことです。 Xenを実行する2つのプライベート仮想化サーバー。1つはテスト前に負荷がゼロでしたが、違いはありませんでした。 Rackspaceのプライベート専用Xenサーバー。ほぼ同じ結果があります。 これらのテストを再実行し、https://gist.github.com/985475でレポートに記入するプロセスを進めています。支援が必要な場合は、数字をお寄せください。それは簡単です! (アクションプランは別の統合された回答に移動されました)

6
高負荷平均、低CPU使用率-なぜですか?
Webアプリケーションで大きなパフォーマンスの問題が発生しており、ボトルネックを見つけようとしています。私はシステム管理者ではないので、なかなか手に入らないものがいくつかあります。基本的な調査では、CPUがアイドル状態であり、大量のメモリが使用可能であり、スワッピングがなく、I / Oがないが、平均負荷が高いことが示されています。 このサーバーのソフトウェアスタックは次のようになります。 Solaris 10 Java 1.6 WebLogic 10.3.5(8ドメイン) このサーバーで実行されているアプリケーションは、別のサーバー上のOracleデータベースと通信します。 このサーバーには32GBのRAMと10個のCPUが搭載されています(私は思う)。 実行prstat -Zすると次のようになります。 PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 3836 ducm0101 2119M 2074M cpu348 58 0 8:41:56 0.5% java/225 24196 ducm0101 1974M 1910M sleep 59 0 4:04:33 0.4% java/209 6765 ducm0102 1580M 1513M cpu330 1 …

6
ソフトウェアとハ​​ードウェアRAIDのパフォーマンスとキャッシュの使用
私はRAIDコントローラー/セットアップについて多くのことを読んできましたが、キャッシュのないハードウェアコントローラーがソフトウェアRAIDと同じパフォーマンスを提供する方法がたくさんあります。これは本当ですか? ハードウェアRAIDカードは、キャッシュがなくてもパフォーマンスが向上すると常に考えていました。つまり、タスクを実行する専用のハードウェアがあります。そのような場合、キャッシュのないRAIDカードを入手する利点は何ですか。LSI9341-4iのようなもので、正確に安くはありません。 また、キャッシュでのみパフォーマンスの向上が可能な場合、すぐにディスクに書き込みますが、読み取り操作のためにデータをキャッシュに保持して、BBUを優先しないキャッシュ構成がありますか?
73 raid  performance  lsi 

10
[丁寧に]どうやって話しているのかわからないソフトウェアベンダーに伝える方法
技術的な質問ではなく、有効な質問です。シナリオ: ESXi 5.5を実行する2 x 8コアXeon E5-2667 CPUと256GB RAMを搭載したHP ProLiant DL380 Gen 8。特定のベンダーのシステム用の8つのVM。テスト用の4つのVM、実稼働用の4つのVM。各環境の4つのサーバーは、Webサーバー、メインアプリサーバー、OLAP DBサーバー、SQL DBサーバーなどの異なる機能を実行します。 テスト環境が実稼働に影響を与えないように構成されたCPU共有。SAN上のすべてのストレージ。 パフォーマンスに関するいくつかの質問がありましたが、ベンダーは、実稼働システムにより多くのメモリとvCPUを提供する必要があると主張しています。ただし、vCenterから既存の割り当てが変更されていないことを明確に確認できます。たとえば、メインアプリケーションサーバーのCPU使用率の月間ビューは約8%で、奇数のスパイクは最大30%です。スパイクは、バックアップソフトウェアの起動と一致する傾向があります。 RAMについても同様の話があります-サーバー全体の最高使用率は約35%です。 そのため、Process Monitor(Microsoft SysInternals)とWiresharkを使用して掘り下げを行ってきましたが、最初のインスタンスでTNSチューニングを行うことをベンダーに推奨しています。ただし、これは重要な点です。 私の質問は、送信したVMwareの統計情報が、RAM / vCPUを追加しても役に立たない十分な証拠であることをどのように認めさせるかです。 --- 2014/12/07更新--- 興味深い週。IT管​​理者は、VMの割り当てを変更する必要があると言っており、現在、ビジネスユーザーからのダウンタイムを待っています。不思議なことに、ビジネスユーザーは、アプリの特定の側面の動作が遅いと言います(私は知りません)が、システムをダウンさせることができると「知らせて」くれます(不平を言う) 、不平を言う!)。 余談ですが、システムの「遅い」側面は、明らかにHTTP(S)要素ではありません。つまり、ほとんどのユーザーが使用する「シンアプリ」です。メインの金融機関が使用する「ファットクライアント」インストールであるように見えますが、明らかに「遅い」です。これは、調査でクライアントとクライアント/サーバーの相互作用を検討していることを意味します。 質問の最初の目的は、「突く」ルートをたどるか、単に変更を加えるかについて支援を求めることであり、現在変更を行っているので、ロングネックの答えを使用して閉じます。 ご意見ありがとうございます。いつものように、serverfaultは単なるフォーラム以上のものです-心理学者のソファのようなものでもあります:-)

8
Apacheの場合、httpsとhttpのパフォーマンスの違いはどれくらいですか?
同じページのhttpに比べて、httpsのパフォーマンスヒットはどれくらいかかりますか?abc.phpで1000リクエスト/秒を処​​理できると仮定すると、httpsを介してアクセスすると、どれだけ減少しますか?これはハードウェア、設定、OSなどに依存する可能性があることは知っていますが、一般的な経験則/推定値を探しています。

12
仮想マシンは基礎となる物理マシンよりも遅いですか?
この質問は非常に一般的ですが、最も具体的には、Ubuntu Enterprise Cloudを実行している仮想マシンが仮想化なしの同じ物理マシンよりも遅いかどうかを知りたいと思っています。いくらですか(1%、5%、10%)? WebサーバーまたはDBサーバー(仮想VS物理)のパフォーマンスの違いを誰かが測定しましたか? 構成に依存する場合、2つのクアッドコアプロセッサ、12 GBのメモリ、および64ビットのubuntuエンタープライズサーバーを実行するSSDディスクの束を想像してみましょう。その上、利用可能なすべてのリソースを使用できる仮想マシンは1つだけです。


5
プロセスごとのディスクI / O使用率を確認する方法
失速しているLinuxシステムに問題があり、sysstat / sarがディスクI / O使用率、平均サービス時間、およびシステム停止時の平均待機時間の大きなピークを報告することがわかりました。 次回にこれらのピークを引き起こしているプロセスを特定するにはどうすればよいですか? sarを使用することは可能ですか(つまり、すでに記録されているsarファイルからこの情報を見つけることができますか? 「sar -d」の出力、システムストールは午後12時58分から13時1分ごろに発生しました。 12:40:01 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 12:40:01 dev8-0 11.57 0.11 710.08 61.36 0.01 0.97 0.37 0.43 12:45:01 dev8-0 13.36 0.00 972.93 72.82 0.01 1.00 0.32 0.43 12:50:01 dev8-0 13.55 0.03 616.56 45.49 0.01 0.70 0.35 0.47 12:55:01 …

6
どのPHP(opcode)キャッシュを使用すべきか、そしてその理由は?
APC、XCache、Memcache、eAcceleratorなどのPHP(opcode)キャッシュについて耳にします。 しかし、私はこれを選択する方法を理解できませんでした。キャッシングシステムが提供することになっているパフォーマンス上の利点は別として、他の要因が懸念事項になります。 XキャッシュシステムがYよりも優れていると言う理由が好きですか?相対的なパフォーマンスの向上についてはあまり心配していません。2つのシステム間の小さな違いはそれほど重要ではありません。 私の質問に対する一般的な答えが不可能な場合、ここにいくつかのポインタがあります。Mediatemple(ルートアクセス)で専用のVPSを使用します。RAMは512 MB(物理)+ 400 MB(スワップ)です。WordPressとそのいとこであるWordPress-MUとBuddyPressが心配です。コード/サイトの90%はWordPressファミリーに分類されます。 助けてくれてありがとう。

4
なぜrsyncがそんなに遅いのですか?
私のラップトップとワークステーションは両方ともギガビットスイッチに接続されています。両方ともLinuxを実行しています。しかしrsync、でファイルをコピーすると、パフォーマンスが低下します。 約22 MB / sを取得します。理論的に約125 MB / sを取得すべきではありませんか?ここでの制限要因は何ですか? 編集:私はいくつかの実験を行った。 ラップトップでの書き込みパフォーマンス ラップトップには、完全なディスク暗号化を備えたxfsファイルシステムがあります。aes-cbc-essiv:sha256256ビットのキー長で暗号モードを使用します。ディスクの書き込み性能は、58.8メガバイト/秒。 iblue@nerdpol:~$ LANG=C dd if=/dev/zero of=test.img bs=1M count=1024 1073741824 Bytes (1.1 GB) copied, 18.2735 s, 58.8 MB/s ワークステーションでの読み取りパフォーマンス コピーしたファイルは、5つのHDD上のソフトウェアRAID-5上にあります。RAIDの上にはlvmがあります。ボリューム自体は同じ暗号で暗号化されています。ワークステーションには、暗号化を高速化するネイティブAES-NI命令セットを持つFX-8150 CPUがあります。ディスク読み取りパフォーマンスは256 MB / sです(キャッシュはコールドでした)。 iblue@raven:/mnt/bytemachine/imgs$ dd if=backup-1333796266.tar.bz2 of=/dev/null bs=1M 10213172008 bytes (10 GB) copied, 39.8882 s, 256 MB/s ネットワーク性能 2つのクライアント間でiperfを実行しました。ネットワークパフォーマンスは939 Mbit …

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