問題タブ [performance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-applications - Web アプリケーションでストレス テストを実行していますか?
以前は、Microsoft Web Application Stress Tool と Pylot を使用して Web アプリケーションのストレス テストを行っていました。簡単なホームページ、ログイン スクリプト、およびサイト ウォークスルー (e コマース サイトでいくつかのアイテムをカートに追加してチェックアウトする) を作成しました。
ほんの一握りの開発者でホームページを激しく叩くだけで、ほとんどの場合、大きな問題が見つかります。より多くのスケーラビリティの問題が第 2 段階で表面化し、打ち上げ後にはさらに多くの問題が表面化します。
私が使用したツールの URL は、Microsoft Homer (別名Microsoft Web Application Stress Tool ) とPylotです。
これらのツールによって生成されたレポートは、私にはあまり意味がなく、サイトがサポートできる同時負荷の種類を把握するために何時間も費やしました。最もばかげたバグやボトルネックが常に発生するため (たとえば、Web サーバーの構成ミスなど)、常に価値がありました。
何を行い、どのツールを使用し、そのアプローチでどのような成功を収めましたか? 私にとって最も興味深い部分は、ストレス テスト アプリケーションによって報告された数値から、アプリがサポートできる同時ユーザー数を計算するための何らかの意味のある式を考え出すことです。
sql-server - ADO.NET 接続プーリングと SQLServer
- それは何ですか?
- MS SQL で接続プーリングを実装するにはどうすればよいですか?
- 次の場合のパフォーマンスへの影響は何ですか
- 多くのクエリを次々に実行しますか (つまり、ストアド プロシージャを呼び出す 30K 以上の反復でループを使用します)?
- 時間がかかる (10 分以上) いくつかのクエリを実行していますか?
- ベストプラクティスはありますか?
asp.net - 非実稼働環境での負荷関連のクラッシュの複製
イントラネットでカスタムアプリケーションを実行していますが、最近アップグレードした後、IISが100%のCPU使用率でハングし、リセットが必要になるという問題が見つかりました。
ユーザーをハングアップさせるのではなく、解決策を決定する間、以前のリリースにロールバックしました。最初のステップは問題を再現することですが、再現することはできません。
ここにいくつかの背景があります:
Prodには、2つのCPUと2 GBのRAMを備えた単一の仮想化(vmware)Webサーバーがあります。データベースサーバーには4GBがあり、CPUも2つあります。これもVMWareにありますが、物理ハードウェアは別です。
通常の使用中、アプリケーションは正常に実行されます。w3wp.exeプロセスは通常、5〜20%のCPUと約200MBのRAMを使用します。CPUとRAMは通常の使用ではわずかに変動しますが、異常なことは何もありません。
ただし、問題が発生し始めると、RAMは劇的に上昇し、CPUは98%(または可能な限り)にペグします。サイトが応答しなくなり、IISを再起動する必要があります。この状況では、アプリプールをリセットしても何も起こりません。完全な、IISの再起動が必要です。
夜間は発生しません(使用なし)。サイトに負荷がかかっている場合に多く発生しますが、ピーク時以外の場合にも発生します。
この問題を解決するための最初のステップは、それを再現することです。負荷をシミュレートするために、JMeterを使用して使用状況をシミュレートし始めます。ロードスクリプトは、クラッシュ時の実際の使用量に基づいています。JMeterを使用すると、使用量をかなり高くすることができます(クラッシュ時の負荷の2〜3倍)が、サイトは正常に動作します。CPUが高く、サイトが遅くなりますが、メモリ使用量は合理的で、何もハングしていません。
非本番環境でこのような問題を再現するためのヒントはありますか?エラーを再現し、解決策を決定してから、もう一度テストして解決したことを確認したいと思います。その過程で、問題を解決する可能性のある改善された小さな点がいくつか見つかりましたが、問題を再現して改善されたバージョンをテストできれば、私は本当に自信が持てるようになります。
どんなツール、テクニック、理論も大歓迎です!
performance - 本番環境で Jaxer を使用したことのある人はいますか?
運用環境でJaxerを使用した人はいますか? PHP や Ruby などと比べてどのように機能するのか、また、よく知られている使用上の落とし穴を誰かが知っているかどうかに興味があります。
c - Cで16進数の文字列を整数に効率的に変換しますか?
C で、16 進数の文字列をバイナリunsigned int
またはに変換する最も効率的な方法は何unsigned long
ですか?
たとえば、 がある場合0xFFFFFFFE
、int
base10 値の が必要です4294967294
。
unit-testing - 単体テストの実行速度 (1 秒あたりのテスト数は?)
単体テストでどのような実行率を目指していますか (1 秒あたりのテスト数)? 個々の単体テストにはどれくらいの時間がかかりますか?
テストが遅すぎるかどうかを判断するための特定のしきい値があるかどうかを知りたいと思いますか、それとも長時間実行されるテストスイートの摩擦があなたを良くするときだけですか?
最後に、テストをより高速に実行する必要があると判断した場合、テストを高速化するためにどのような手法を使用しますか?
注: 統合テストは明らかに別の問題です。できるだけ頻繁に実行する必要がある単体テストを厳密に話しています。
回答のまとめ:これまで素晴らしい回答をありがとうございました。ほとんどのアドバイスは、速度について心配する必要はないようです。品質に集中し、遅すぎる場合は選択的に実行してください。特定の数値を含む回答には、テストごとに最大 0.5 および 1 秒まで 10 ミリ秒未満を目指すこと、または一般的に実行される一連のテスト全体を 10 秒未満に保つことが含まれます。
それらがすべて役立つ場合に、「受け入れられた回答」としてマークするのが正しいかどうかはわかりません:)
windows - Windows用の優れたサーバーパフォーマンス監視ソフトウェアは何ですか?
単一サーバーのパフォーマンス アラートを監視するソフトウェアを探しています。できれば無料で、適切なデフォルト設定を使用してください。
編集: 明確にするために、このソフトウェアを Windows マシンで実行し、リモート Windows サーバーの CPU/メモリなどを監視したいと思います。使用状況アラート (単一のアプリケーションではありません)。
編集:このソフトウェアをリモートで実行する必要はないと思います。サーバー上で実行され、アラートが発生した場合にメールで通知されるものでも解決します。Windows のパフォーマンス ログとアラートが何らかの形でこの目的に使用されているようですが、すぐにはわかりませんでした。
編集:コーディングホラー ブログで素敵なツールを発見
asp.net - ASP.Net Web サイトまたはアプリケーションの高速化
Ajax.Net 対応の ASP.Net 2.0 Web サイトを持っています。サイトとデータベースの両方のホスティングは、データベースのスキーマと同様に、私の手に負えません。私が管理しているハードウェアでのテストでは、サイトのパフォーマンスは良好ですが、クライアントのハードウェアでは、ページのリロードまたは変更時に顕著な遅延が発生します。
私がやりたいことは、アプリケーションを配信するときに、アプリケーションをできるだけコンパクトかつ高速にすることです。1 つのアイデアは、サイトのすべての静的リソースに有効期限を設定して、ページの読み込み時にそれらが呼び出されないようにすることです。リソースとは、画像、リンクされたスタイル シート、および JavaScript ソース ファイルを意味します。これを行う簡単な方法はありますか?
.Net Web サイトを最適化するには、他にどのような方法がありますか?
更新: 私はサイトで YSlow を実行しましたが、最も打撃を受けた領域は、読み込まれる JavaScript とスタイル シートの数 (23 の JS ファイルと 5 つのスタイル シート) です。1 つ (メイン スタイル シート) を除いて、すべて Ajax.net と ASP によって挿入されています。なぜそんなに多いのですか?
c++ - std::swap() をオーバーロードする方法
std::swap()
は、並べ替えや代入時にも多くの std コンテナー ( や など) で使用されstd::list
ます。std::vector
しかし、 の std 実装swap()
は非常に一般化されており、カスタム型に対してはかなり非効率的です。
したがってstd::swap()
、カスタム型固有の実装でオーバーロードすることで効率を高めることができます。しかし、std コンテナーで使用されるように実装するにはどうすればよいでしょうか?
sql - リレーショナル データベース設計の優れたリソース
リレーショナル データベースの設計、パフォーマンスのチューニングなどのベスト プラクティスに関する本/サイト/チュートリアルを探しています。この種のリソースを見つけるのは少し難しいことがわかりました。「これが正規化で、ここが ER ダイアグラムです」という言葉はたくさんありますが、実際の例はあまりありません。誰にもアイデアはありますか?