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

パフォーマンスチューニングは、システムを変更して効率を向上させるプロセスです。これは、最適化とも呼ばれます。

3
CPU0がeth1割り込みであふれている
UbuntuベースのXen XCP内で実行されているUbuntu VMがあります。背後にあるカスタムFCGIベースのHTTPサービスをホストしますnginx。 最初のCPUコアからの負荷ab が飽和状態になり、残りの負荷が不足します。 /proc/interrupts私が見ることCPU0は、他のコアよりも大きさ以上の割り込みのために役立ちます。それらのほとんどはから来ていeth1ます。 このVMのパフォーマンスを改善するためにできることはありますか?割り込みをより均等にバランスさせる方法はありますか? 流血の詳細: $ uname -a Linux MYHOST 2.6.38-15-virtual#59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU / Linux $ lsb_release -a 使用可能なLSBモジュールはありません。 ディストリビューターID:Ubuntu 説明:Ubuntu 11.04 リリース:11.04 コードネーム:natty $ cat / proc / interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 …

5
Linuxで多くのコンテキストスイッチを生成しているタスクを調べる
vmstatによると、私のLinuxサーバー(2xCore2 Duo 2.5 GHz)は毎秒約2万のコンテキスト切り替えを常に実行しています。 # vmstat 3 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 2 0 7292 249472 82340 2291972 0 0 0 0 0 0 7 13 79 0 0 0 7292 251808 82344 …

13
Postfixパフォーマンス
ubuntuでpostfixを実行し、1日に大量のメール(〜100万メッセージ)を送信します。負荷は非常に高くなりますが、CPUとメモリの負荷に関してはそれほど大きくありません。同様の状況にあり、ボトルネックを解消する方法を知っている人はいますか? このサーバー上のすべてのメールは送信です。 ボトルネックはディスクであると想定する必要があります。 ただの更新で、iostatは次のようになります。 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.12 99.88 0.00 0.00 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 12.38 0.00 2.48 0.00 118.81 48.00 0.00 0.00 0.00 0.00 sdb 1.49 22.28 72.28 42.57 629.70 1041.58 14.55 135.56 …

5
非常に大きなファイルシステムと高いIOWAITでのパフォーマンス向上のためのオプション
SATA 3.0バックプレーン経由で8x10TB HDDを備えたUbuntu 16.04バックアップサーバーを使用しています。8つのハードディスクはRAID6に組み立てられ、EXT4ファイルシステムが使用されています。このファイルシステムは、非常に多くのSEEK操作を伴う大量の小さなファイルを格納しますが、IOスループットは低くなります。実際、毎日rsnapshotを介してスナップショットを取得するさまざまなサーバーからの多くの小さなファイルがあります(複数のINODESが同じファイルに直接送信されます。ファイルシステム(60TBネット)の使用率が50%を超えているため、パフォーマンスは非常に低くなっています。現在、使用率は75%で、 du -sch /backup-root/ 数日かかります!マシンには8つのコアと16GのRAMがあります。RAMはOSファイルシステムキャッシュによって完全に利用され、8つのコアのうち7つはIOWAITのために常にアイドル状態です。 Filesystem volume name: <none> Last mounted on: / Filesystem UUID: 5af205b0-d622-41dd-990e-b4d660c12bd9 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: …

3
postgres stats collectorプロセスによって生成されたI / Oが多すぎます
ローカルのpostgresデータベースを持ついくつかの仮想マシンでXenServerを使用しています。すべてのアプリケーションが使用されておらず、データベースがアイドル状態の場合でも、各vmは一定のストレージネットワークトラフィックを引き起こし、iscsiストレージデバイスのパフォーマンスを低下させます。 実行後iotop、postgres stats collectorプロセスプロセスが約2 MByte / sのレートでディスクに常に書き込みを行っていることに気付きました。 次に、編集して統計の収集を無効にしました/etc/postgresql/8.4/main/postgresql.conf: #------------------------------------------------------------------------------ # RUNTIME STATISTICS #------------------------------------------------------------------------------ # - Query/Index Statistics Collector - track_activities = off track_counts = off ... http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htmで提案されているとおり。 これは継続的な書き込みを排除しましたが、統計の追跡をオフにするデメリットはありますか? または、ディスク/ネットワークトラフィックを回避するために、ラムディスクにpg_stat_tmpディレクトリを配置する必要がありますか? システムは最新のDebian 6.0.7(squeeze)であり、postgres 8.4および約20のデータベースに約50のテーブルがあり、ダンプファイルの合計サイズは100 MB未満です。

2
Ubuntuでの低遅延TCP設定
私のラボには、Ubuntuで実行する測定用のサーバーがあります。また、TCP接続を介してデータを受信し、できるだけ早く応答を送信するCプログラムがあります。 構成 CPU:2プロセッサx 4コア-Intel(R)Xeon(R)CPU E5345 @ 2.33GHz RAM:12 GB NIC:Intel Corporation 80003ES2LAN Gigabit Ethernet Controller / 82546EB Gigabit Ethernet Controller ネットワークスイッチ:Cisco Catalyst 2960 データ情報:データブロックは約です。各10ミリ秒。データブロックサイズは約です。1000バイト。 パケット受信時のネットワーク遅延は非常に重要です(数十マイクロ秒が重要です)。プログラムを最大限に最適化しましたが、Ubuntuを調整した経験がありません。 パケットの処理/送信のローカル遅延を減らすためにUbuntuで何を設定できますか?

4
OpenVPNパフォーマンスの向上
私はOpenVPNのパフォーマンスを改善しようと試みており、これが私の現在のセットアップです。 cat /etc/openvpn/server.conf port 443 #- port proto tcp #- protocol dev tun #tun-mtu 1500 tun-mtu-extra 32 #mssfix 1450 tun-mtu 64800 mssfix 1440 reneg-sec 0 ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login #plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS #plugin /etc/openvpn/radiusplugin.so …

3
Subversion設定を最適化するコツは何ですか?
LinuxまたはWindowsシステムの場合、Subversionサーバーを最適化するためにどのようなトリックを実行しますか? 以下は、HTTPSを使用してApacheでサービスを提供し、LDAP認証を使用してActive DirectoryによってサポートされるLinuxシステムの現在のトリックです。 Apacheでキープアライブを有効にする SVNPathAuthzを無効にする LDAPキャッシュを増やす BDBの代わりにFSFSストレージメソッドを使用する これを自由に質問してください。私は、FSFSがBDBを実行するという確固たる証拠はありません。多くの部族の知識と伝聞だけです。

1
高負荷-非常にビジーなコンテンツストリーミングサーバーに最適なsysctl.conf構成
高負荷で非常にビジーなコンテンツストリーミングサーバーに最適なsysctl.conf構成は何ですか?サーバーは、amazon、s3などのリモートサーバーからコンテンツをフェッチし、phpを使用して、コンテンツをハードドライブに保存せずに動的にユーザーにストリーミングします。phpはCURLを使用してファイルをフェッチし、次にflush()を使用して同時にストリーミングするため、ハードドライブの動作はそれほどではなく、ネットワークと帯域幅のみです。 サーバーはクアッドコアxeonで、1Gビットの全二重NIC、8GBのRAM、RAIDに500GBx2を備えています。サーバーのメモリ使用量とCPU負荷はかなり低いです。 私たちは、その上でdebian lennyとlighttpd2を実行しています(はい、まだリリースされていないことがわかります:-))。最大fcgiリクエストは20で、mod_balancerモジュールがlighttpd2設定にあり、SQF(ショートキューが最初)の設定でこれらの4つのソケット間でfastcgiリクエストのバランスを取ります。 当社のサーバーは多くの帯域幅を使用します。つまり、ネットワーク接続は常にビジーです。100〜200の並列接続の直後に、サーバーの速度が低下し始め、最終的に応答がなくなり、接続タイムアウトエラーが発生し始めます。cpanelを使用していたときは、タイムアウトエラーは発生しなかったため、スクリプトの問題ではありません。ネットワーク構成の問題である必要があります。 lighttpd2構成:ワーカープロセス= 8、キープアライブリクエストは32、キープアライブアイドルタイムアウトは10秒、最大接続は8192です。 現在のsysctl.confの内容は次のとおりです。 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_tw_recycle = 1 # Increase maximum amount of memory allocated to shm kernel.shmmax = 1073741824 # This will increase the amount of memory available for socket input/output queues net.ipv4.tcp_rmem = 4096 25165824 25165824 net.core.rmem_max = 25165824 net.core.rmem_default = 25165824 …

1
LVMで単一ディスクのパーティションが使用されている場合のIOPS動作は何ですか?
私は、論理ボリュームを備えたLVM(ハードウェアRAID5でサポート)と、同じsdbディスクから作成されたsdb1 sdb2 sdb3を持つ「dbstore-lv」および「dbstore-vg」というボリュームグループを持つubuntu 14.04.1 LTSサーバーを持っています。42コアのシステムと約128Gのメモリ。htopからの負荷平均出力のCPUスパイクがuptime〜43 +であるのcontext switchesはわかりませんが、vmstatはiowaitが20〜40で一定であり、ピーク時は常に80,000〜150000以上であり、CPUアイドル時間も変動しています70-85。以下はの出力であるiostat -xp 1ところ%util常に100%であるが avg-cpu: %user %nice %system %iowait %steal %idle 8.91 0.00 1.31 10.98 0.00 78.80 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 264.00 0.00 58.00 0.00 1428.00 49.24 0.02 0.28 0.00 0.28 0.21 1.20 …

1
ApacheがMaxClientsに到達したときにユーザーは何を見るのですか?
ときどき、Apacheエラーログで次のことがわかります。 [error] server reached MaxClients setting, consider raising the MaxClients setting 私は過去にメモリ不足の問題が原因でMaxClientsを意図的に(60に)下げましたが、サーバーでこの制限に達したときにユーザー側で何が起こっているのかを正確に知りたいのですが。アクセスしているページの読み込みに時間がかかるだけですか?彼らは何らかのエラーメッセージを受け取りますか?

1
タスクセットとcpusetの違い
Linuxネットワークアプリケーションのレイテンシを短縮しようとしています。プログラムを特定のCPUコアに「バインド」するには、タスクセットとcpusetの2つのツールがあることを学びました。 どっちがいい?それらは下位レベルで同等ですか? (性質)アプリケーションには単一のスレッドがあり、遅延を最小限に抑えて高速LANネットワーク経由で単一のTCP接続(再接続なし)を処理することになっています。私は正しい道を進んでいますか?

3
RedHatの推奨調整済みプロファイルについて
調整(およびnumad)を最大1000台のサーバーに展開します。それらの大部分は、NetAppまたは3Parストレージ上のVMwareサーバーです。 RedHatsのドキュメントによると、virtual-guestプロファイルを選択する必要があります。それがしていることはここで見ることができます:tuned.conf VMwareとNetApp / 3Parの両方で十分なスケジューリングを行う必要があるため、IOスケジューラをNOOPに変更します。 しかし、ビットを調査した後、私は、彼らが増加している理由はわからないvm.dirty_ratioとkernel.sched_min_granularity_ns。 私が理解している限り、vm.dirty_ratio40%に増加すると、20GBのRAMを搭載したサーバーの場合、vm.dirty_writeback_centisecs最初にヒットしない限り、8GBがいつでもダーティになる可能性があります。そして、これらの8GBをフラッシュしている間、アプリケーションのすべてのIOはダーティページが解放されるまでブロックされます。 dirty_ratioを増やすと、キャッシュが大きくなるため、ピーク時の書き込みパフォーマンスが高くなる可能性がありますが、キャッシュがいっぱいになると、IOはかなり長い時間(数秒)ブロックされます。 他の理由は、彼らが増加している理由sched_min_granularity_nsです。私がそれを正しく理解している場合、この値を増やすとエポック(sched_latency_ns)あたりのタイムスライスの数が減り、実行中のタスクが作業を完了するためにより多くの時間を費やすことになります。これは、スレッドが非常に少ないアプリケーションでは非常に良いことですが、たとえば、多くのスレッドを含むapacheまたは他のプロセスはこれは逆効果ではないでしょうか?

1
FreeBSDでnet.inet.tcp.tcbhashsizeを変更する理由
事実上すべてのFreeBSDネットワークチューニングドキュメントで私は見つけることができます: # /boot/loader.conf net.inet.tcp.tcbhashsize=4096 これは通常、「TCP制御ブロックハッシュテーブルのチューニング」や「これを適切な値に設定する」などの役に立たないステートメントとペアになります。man 4 tcpどちらもあまり役に立ちません: tcbhashsize Size of the TCP control-block hash table (read-only). This may be tuned using the kernel option TCBHASHSIZE or by setting net.inet.tcp.tcbhashsize in the loader(8). この不思議なことに触れた唯一のドキュメントは、FreeBSD IPとTCP Stackの最適化の Transport Layerの下にあるProtocol Control Block Lookupサブセクションですが、その説明はそれを使用する際の潜在的なボトルネックについての詳細です。新しいTCPセグメントをリスニングソケットに一致させることに関連しているようですが、方法はわかりません。 正確に何のために使用されるTCP制御ブロックですか?ハッシュサイズを4096または他の特定の数値に設定する理由は何ですか?

5
LAN用のWindows 7ネットワークパフォーマンスチューニング
Windows 7 TCPスタックをLAN環境の速度に合わせて調整したい。 背景情報:Windows 2008R2、Windows 7、およびCitrixカーネルを備えたDebian LennyでCitrix XenServerをセットアップしました。Windowsマシンには、iperfサーバープロセスが異なるホストで実行されているツールがインストールされています。DebianLenny も同様です。それ以外の場合、サーバーはアイドル状態であり、テストを数回繰り返して結果を確認しました。 iperf2008R2でのテストでは、これまで何も調整しなくても約600〜700 Mbpsを達成できますが、Windows 7が-wへのパラメーターを使用してTCPウィンドウサイズを変更せずに150 Mbps以上を達成できるようにするガイドやパラメーターセットは見つかりませんiperf。 私が使ってみましたnetsh autotuiningしdisabled、experimental、normalおよびhighlyrestricted変更なし- 。およびとcongestionprovider同様に、変更しても何も起こりません。rsschimney 利用可能なすべての設定をWindows 2008R2ホストと同じ値に設定しても、効果はありません。 要約する: Windows 2008R2のデフォルト設定:600〜700Mbps Debian、デフォルト設定:600Mbps Windows 7のデフォルト設定:120Mbps Windows 7のデフォルトiperf -w 65536:400-500Mbps パフォーマンスの400Mbpsがないため、XenServerホストの壊れやすいRealtek NICのせいです(ラップトップからiperfサーバーで最大980Mbpsを実行できます)。ウィンドウサイズを手動で調整しないとWindows 7が優れたパフォーマンスを達成できない理由は説明されていませんアプリケーションレベル。 それでは、Windows 7をチューニングする方法は?

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