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

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

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 …

2
ベアメタル16x 2.93GHzコアコンピューターのパフォーマンスが、4x 2.5GHzコアのVPSよりも劣るのはなぜですか?
私は、1日に大量のシミュレーションを実行するマルチスレッドソフトウェアを作成しました。これは非常にCPUを集中的に使用するタスクであり、このプログラムをクラウドサービス(通常はコアあたり1GBの構成)で実行しています。 CentOS 6.7を実行し/proc/cpuinfoていますが、4つのVPSコアが2.5GHzであることがわかります。 processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 63 model name : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz stepping : 2 microcode : 1 cpu MHz : 2499.992 cache size : 30720 KB physical id : 3 siblings : 1 core id …

3
Linux-実世界のハードウェアRAIDコントローラーのチューニング(scsiおよびcciss)
私が管理するLinuxシステムのほとんどは、ハードウェアRAIDコントローラー(主にHP Smartアレイ)を備えています。それらはすべてRHELまたはCentOSを実行しています。 SASディスク(Smartアレイ、Perc、LSIなど)とバッテリーバックアップまたはフラッシュバックアップキャッシュを備えたハードウェアRAIDコントローラーを組み込んだセットアップのパフォーマンスを最適化するのに役立つ実世界の調整可能パラメータを探しています。RAID 1 + 0および複数のスピンドル(4+ディスク)を想定します。 低遅延および金融取引アプリケーション用のLinuxネットワーク設定の調整にはかなりの時間を費やしています。ただし、これらのオプションの多くは十分に文書化されています(送信/受信バッファーの変更、TCPウィンドウ設定の変更など)。エンジニアはストレージ側で何をしていますか? 歴史的に、私はI / Oスケジューリングエレベータに変更を加えてきました。最近、アプリケーション内のパフォーマンスを改善するためにdeadlineとnoopスケジューラを選択しました。RHELバージョンが進歩するにつれて、SCSIおよびCCISSブロックデバイスのコンパイル済みデフォルトも変更されていることにも気付きました。これは、時間の経過とともに推奨されるストレージサブシステム設定に影響を与えてきました。ただし、明確な推奨事項を確認してからしばらく経ちました。そして、OSのデフォルトが最適ではないことを知っています。たとえば、128kbのデフォルトの先読みバッファは、サーバークラスのハードウェアでの展開には非常に小さいようです。 次の記事では、ブロックキューの先読みキャッシュとnr_requestsの値を変更した場合のパフォーマンスへの影響について説明します。 http://zackreed.me/articles/54-hp-smart-array-p410-controller-tuning http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with -linux-why-tuning-really-matters http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html たとえば、HP SmartアレイRAIDコントローラーの推奨される変更は次のとおりです。 echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler blockdev --setra 65536 /dev/cciss/c0d0 echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb ストレージパフォーマンスを改善するために、他に何を確実に調整できますか? 生産シナリオでsysctlおよびsysfsオプションを具体的に探しています。

7
運用サーバーでperfmonを実行しても大丈夫ですか?なぜ?
または、perfmonは、実稼働アクティビティをシミュレートする負荷テストを備えたDev / QAサーバーに限定する必要がありますか? 2日間perfmonを実行して(SQL ServerマスターBrent Ozarが提案しているように)、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 …

2
Ubuntu 14.04サーバーでApacheを調整する方法
現在、Ubuntu 14.04のApache 2(正確にはApache 2.4.7)では、この設定があります: /etc/apache2/mods-enabled/mpm_prefork.conf <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 100 MaxSpareServers 250 MaxRequestWorkers 150 MaxConnectionsPerChild 0 </IfModule> サーバーは8 GB(RAM)Amazonサーバーであり、一部のGoogle広告キャンペーン用に3ページのサインアップフォームを読み込むだけです。 Webでapachetuneit.shというスクリプトを見つけましたが、しばらくするとApacheがこのエラーを報告していました。 [2015年4月21日16:45:42.227935 2015] [mpm_prefork:error] [pid 1134] AH00161:サーバーがMaxRequestWorkers設定に達したため、MaxRequestWorkers設定を上げることを検討してください これらの設定の設定方法を判断するにはどうすればよいですか? 私は、Apache 2.4を調整する方法のみを具体的に求めています。この質問は、より異なっている理由はここにあり、この質問。

2
mySQLでのtable_cacheのチューニング(および理解)
優れたMySQLパフォーマンスチューニングスクリプトを実行し、提案に取り組み始めました。私が出会ったのは TABLE CACHE 現在のtable_cache値= 4096テーブル合計1073テーブルがあります。3900個の開いているテーブルがあります。現在のtable_cacheヒット率は2%ですが、テーブルキャッシュの95%は使用中です。おそらくtable_cacheを増やす必要があります table_cacheを読み始めましたが、MySQLのドキュメントがかなり不足していることがわかりました。彼らはtable_cache、「メモリがあれば」を増やすと言っています。残念ながら、table_cache変数は「すべてのスレッドの開いているテーブルの数」として定義されています。 この変数を増やすと、MySQLが使用するメモリはどのように変わりますか?設定するのに良い値は何ですか?

1
somaxconnにどれだけ近づいているかを知るにはどうすればよいですか?
sysctlオプションのnet.core.somaxconnデフォルトは128(当社のシステム上)ですが、上げることができます。 この制限の正確な測定と上限は何ですか? 自分が限界にどれだけ近づいているかを知るにはどうすればよいですか? コンテキスト:最近、この制限を引き上げることで修正されるように見える問題がありました。問題は断続的だったので、本当に修正されたとは信じていません。[この設定の上限]の現在の数が、以前の最大制限である128より大きいかどうかを確認したいと思います。

9
300接続後にApache Tomcatがチョークする
EC2でホストされているTomcatの前にApache Webサーバーがあり、インスタンスタイプは34GBのメモリを備えた非常に大きなものです。 私たちのアプリケーションは多くの外部Webサービスを扱っており、ピーク時間に要求に応答するのにほぼ300秒かかる非常にひどい外部Webサービスがあります。 ピーク時には、サーバーは約300のhttpdプロセスで停止します。ps -ef | grep httpd | wc -l = 300 私はグーグルで検索し、多くの提案を見つけましたが、何も機能していないようです。以下は、オンラインリソースから直接取得したいくつかの設定です。 ApacheとTomcatの両方で最大接続と最大クライアントの制限を増やしました。構成の詳細は次のとおりです。 // apache <IfModule prefork.c> StartServers 100 MinSpareServers 10 MaxSpareServers 10 ServerLimit 50000 MaxClients 50000 MaxRequestsPerChild 2000 </IfModule> // tomcat <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="600000" redirectPort="8443" enableLookups="false" maxThreads="1500" compressableMimeType="text/html,text/xml,text/plain,text/css,application/x-javascript,text/vnd.wap.wml,text/vnd.wap.wmlscript,application/xhtml+xml,application/xml-dtd,application/xslt+xml" compression="on"/> //Sysctl.conf net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 fs.file-max = 5049800 vm.min_free_kbytes …

3
仮想マシンとI / Oの重いワークロードは正気ですか?
多数の仮想化サービス(Azure)および製品(vmware、kvm、hyperv)I / OおよびI / Oワークロードが重いシステムストールを確認しました。 私の質問は: I / Oの重いワークロードを実行するときに仮想化ソリューションを使用するのは正気ですか? この種のものに関するベストプラクティスは何ですか? これらの問題の原因は何ですか、よく知られているシステムのボトルネックがありますか、それとも過度の競合の問題ですか?

1
仮想化-10個の1Gbpsリンクまたは1個の10Gbpsリンク?(パフォーマンス)
複数のVM(5)と3つの物理ネットワークカード(各2ポート)を備え、合計6つの1Gbpsイーサネットポートを持つマシンがあります。 合計48Gbpsの帯域幅と10GbpsのSPFリンクを備えたSPF対応スイッチがあります。サーバーには1つのSPFポート(10Gbps)もあります。 私は、パフォーマンスに関して賢明なセットアップが何であるか(あらゆるビットを最大限に活用し、CPU使用量を最小限に抑える)とその理由に興味があります。 すべてのVMをスイッチのSPFポートに接続してからスイッチのSPFポートに接続する方が良いでしょうか、または5本のイーサネットケーブルを取得してネットワークスイッチの5ポートに接続する必要がありますか? それでもまだ不明な場合は、次のシナリオを想像してください。 スイッチ上の2台のPCは、それぞれVM Aから大きなファイルをダウンロードし、VM Bから2台目のPCをダウンロードします。イーサネットで接続されている場合、それぞれに独自の接続があるため、VM Aからの接続はPC Aに切り替えられます、およびVM Bからの接続がPC Bに切り替えられます、そうですか?また、両方のVMをSPFに接続すると、SPFポートはPC AとPC Bの間で切り替わります。 それでは、どのシナリオが最大負荷で最高のパフォーマンスを発揮しますか?どうして? 編集:グローバルシナリオに適用できるように、これをかなり汎用的にしたかったのですが、セットアップの詳細については次のとおりです。 サーバー:PowerEdge T620 SPFカード:PEX10000SFP 10ギガビット NIC:3X NetXtreme BCM5720 OS:XenServer 6.2 CPU:Xeon E5-2609 スイッチ:T1600G-28TS ゲストOS:Debian Wheezy(PV)

2
ext3でdata = writebackおよびbarrier = 0でマウントする必要がありますか?
ホスティング会社のVMでサーバーを実行しており、専用ホスト(AMD Opteron 3250、4コア、8GB RAM、ソフトウェアRAIDの2 x 1TB、ext3)にサインアップしました。 パフォーマンステストの実行中に、一部のSQLite変換(挿入、削除、更新の組み合わせ)が2010 MacBook Proよりも10倍から15倍長くかかっていることに気付きました。 たくさんのグーグルと読書の後、マウントオプションを確認しました。 data=ordered,barrier=1 私たちはいくつかの実験を行い、最高のパフォーマンスを得ました data=writeback,barrier=0 私はこれらを読んで、彼らがしていることの基本を理解していますが、このように走るのが良い考えかどうかについての感覚/感覚がありませんか? ご質問 上記の設定は、ホストされたサービスで考慮するのが賢明ですか? 停電やハードクラッシュが発生した場合、データが失われたり、ファイルが破損したりする可能性があります。DBのスナップショットを15分ごとに作成している場合、状況は緩和される可能性がありますが、スナップショットの作成時にDBが同期されない場合があります。このようなスナップショットの整合性をどのように(どのように)保証する必要がありますか? 他に検討すべきオプションはありますか? ありがとう

1
ethtool Coalesce出力の解釈
送信および受信txであるrxこと以外に、誰もがフィールドの意味ethtool -c(出力の合体)および合体の仕組みに与える影響について説明できますか? Coalesce parameters for eth0: Adaptive RX: off TX: off stats-block-usecs: 999936 sample-interval: 0 pkt-rate-low: 0 pkt-rate-high: 0 rx-usecs: 18 rx-frames: 12 rx-usecs-irq: 18 rx-frames-irq: 2 tx-usecs: 80 tx-frames: 20 tx-usecs-irq: 18 tx-frames-irq: 2 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: …

5
高負荷Apacheサーバーのパフォーマンスチューニング
(私たちにとって)負荷の高いWebサーバーで見られるサーバーパフォーマンスの問題を理解したいと考えています。環境は次のとおりです。 Debian Lenny(すべての安定パッケージ+セキュリティ更新プログラムにパッチ適用済み) Apache 2.2.9 PHP 5.2.6 Amazon EC2ラージインスタンス 私たちが見ている振る舞いは、通常、ウェブはレスポンシブに感じますが、リクエストの処理を開始するのにわずかな遅延があることです-時々、ほんの数秒、ピークの使用時間で2〜3秒です。サーバーの実際の負荷は非常に高いと報告されていtopます。多くの場合、10.xxまたは20.xxで報告されています。さらに、これらの時間(偶数vi)の間にサーバー上で他の処理を実行するのは非常に遅いため、負荷は確実に増加します。奇妙なことに、Apacheはその最初の遅延以外に非常に応答性が高いままです。 preforkを使用して、Apacheを次のように構成します。 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 KeepAliveとして: KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 サーバーステータスページを見ると、このような高負荷の時間でも、クライアントの上限に達することはほとんどなく、通常80〜100のリクエストとキープアライブ状態のリクエストの多くを処理します。これは、最初の要求の遅さを「ハンドラーの待機」として除外するように指示しますが、間違っている可能性があります。 AmazonのCloudWatchモニタリングから、OSが15を超える負荷を報告している場合でも、インスタンスのCPU使用率は75〜80%であることがわかります。 からの出力例top: top - 15:47:06 up 31 days, 1:38, 8 users, load average: 11.46, 7.10, 6.56 Tasks: 221 total, 28 running, …

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