問題タブ [high-load]
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.
php - 高負荷サイトでPHPを使用するための戦術
あなたがこれに答える前に、私は高いサーバー負荷を達成するのに十分な人気のあるものを開発したことがありません。PHPといくつかの最適化手法を知っているとはいえ、私を(ため息をつく)惑星に着陸したばかりのエイリアンとして扱ってください。
私はPHPでツールを開発しており、それが正しく機能すれば、かなりの数のユーザーを獲得できます。しかし、私はプログラムを完全に開発することができますが、大量のトラフィックを処理できるものを作成することに関しては、ほとんど無知です。それで、ここにいくつかの質問があります(この質問もリソーススレッドに自由に変えてください)。
データベース
現時点では、PHP5でMySQLi機能を使用する予定です。ただし、ユーザーとコンテンツに関連してデータベースをどのように設定する必要がありますか?実際に複数のデータベースが必要ですか?現時点では、すべてが1つのデータベースにまとめられています。ただし、ユーザーデータをあるデータベースに、実際のコンテンツを別のデータベースに、最後にコアサイトコンテンツ(テンプレートマスターなど)を別のデータベースに拡散することを検討しています。この背後にある私の理由は、異なるデータベースにクエリを送信すると、1つのデータベース= 3つのロードソースとして、それらのデータベースの負荷が軽減されるということです。また、それらがすべて同じサーバー上にある場合でも、これは効果的でしょうか?
キャッシング
ページの作成と変数の交換に使用されるテンプレートシステムがあります。マスターテンプレートはデータベースに保存され、テンプレートが呼び出されるたびに、キャッシュされたコピー(htmlドキュメント)が呼び出されます。現在、これらのテンプレートには、静的変数と動的変数の2種類の変数があります。静的変数は通常、ページ名やサイト名など、頻繁に変更されないものです。動的変数は、ページが読み込まれるたびに変化するものです。
これに関する私の質問:
別の記事にコメントがあるとしましょう。これはより良い解決策です:ページがロードされるたびに(DB呼び出しから)単純なコメントテンプレートを保存してコメントをレンダリングするか、コメントが追加/編集/削除されるたびにコメントページのキャッシュされたコピーをhtmlページとして保存しますページが再キャッシュされます。
ついに
PHPで高負荷サイトを実行するためのヒント/ポインタはありますか?FacebookやYahoo!など、使用できる言語だと確信しています。優先順位を付けてください。しかし、注意すべき経験はありますか?
c# - トラフィックの多い Web サービスのヒント、c# asp.net sql2000
SQLサーバーテーブルから読み取られたメッセージの一種のキューを表示する「動的バナー」からメソッドが呼び出されるWebサービスを開発しています。
バナーは、トラフィックの多いサイトのホームページでは大きなプレッシャーになります。バナーが読み込まれるたびに、メッセージの新しいキューを取得するために Web サービスが呼び出されます。
現在: バナーが読み込まれるたびに、このすべてのトラフィックによってデータベースへのクエリが実行されるのは望ましくないため、asp.net キャッシュ (つまり、HttpRuntime.Cache[cacheKey]) を使用してデータベース アクセスを制限することを考えています。1 分ごとにキャッシュを更新するようにします。
明らかに、トラフィックを制限するために、メッセージをできるだけ少なくしようとします。
しかし、そのようなシナリオに対処する他の方法があるかもしれません。たとえば、キューの最新バージョンをファイル システムに書き込み、Web サービスにそのファイルにアクセスさせることができます。または2つのアプローチを混合する何か...
解決策は、C# Web サービス、asp.net 3.5、SQL Server 2000 です。
ヒントはありますか?他のアプローチ?
ありがとう
アンドレア
php - トラフィックの多い ajax を多用する Web サイトに推奨するものは何ですか?
reddit のように、トピックごとに多数の賛成/反対票と多数のコメントがある Web サイトの場合、何を使用すればよいですか?
Lighttpd/Php または Lighttpd/CherryPy/Genshi/SQLAlchemy?
また、データベースの場合、MySQL (4.1 または 5 ?) または PostgreSQL のどちらがより優れたスケール/最速になるでしょうか?
high-load - 1 日あたり 5 GB の転送量を持つ Web アプリケーションの設計上の考慮事項は?
「支店/店舗ロケーター」に似た Web アプリケーションを構築する必要があります。ユーザーが住所を入力すると、Web アプリケーションが近くの店舗を地図上に表示します。
要件の 1 つは次のとおりです。
「Web アプリケーションは、100 人の同時ユーザーと最大 5 GB/日の転送量をサポートする必要があります。」
転送されるデータの多くは、テキストと GUI 画像になります。
だから私の質問は:
- これはトラフィックの多いアプリケーションと見なされますか?
- 同等のトラフィックを確認するには、どの Web アプリケーション/サイトを参照できますか?
- memcached、テンプレート キャッシング、ロード サーバー バランシングなどを実装する必要がありますか?
以前にトラフィックの多いアプリケーションに取り組んだことがありますが、アーキテクトになったことはありません。そのため、トラフィックの多いシナリオを管理するためのいくつかの (すべてではない) 戦略は知っていますが、それらの実際の実装についてはよく知りません。
誰かが私にアドバイス、フィードバック、または提案された研究を提供できますか? 私は何かを見落としましたか?
**また、これを LAMP with Smarty でビルドしています。
.net - 毎秒 40,000 メッセージを処理できるシステムのパターンとテクノロジ
毎秒 40,000 件のメッセージを処理できるシステムを構築する必要があります。ソフトウェアまたはハードウェアの障害が発生した場合でも、メッセージが失われることはありません。
各メッセージのサイズは約 2 ~ 4Kb です。
メッセージの処理は、メッセージの検証、単純な算術計算の実行、結果のデータベースへの保存、(場合によっては) 他のシステムへの通知の送信で構成されます。
望ましいソフトウェア技術は .Net です。
そのようなタスクに最も適したソフトウェアとハードウェアのパターンは何ですか?
どのくらいのハードウェアが必要ですか?
c# - WPFを使用してスクロール可能な領域に何千ものコントロールを作成する最良の方法は何ですか?
私はWPFとC#を使用しています。
私は問題があります。スクロール可能な領域に多くのバインド可能なテンプレート コントロールを作成する必要があります (それらはすべて異なるタイプです)。たとえば、1000 個のテキストボックス、1000 個のドロップダウン リスト、1000 個のチェックボックスなどです。
問題は、それらがすべて作成されると、動作が非常に遅くなることです。
問題は、非常に多くのコントロールを遅延なしで同時に持つことが可能かどうか、そして解決策をどの方向に探せばよいかということです。テンプレート、データバインディング、およびマウスクリックなどの単純なイベント処理を使用する機能を保存したいと思います。
PS私は多くのことを試しました(ジオメトリのみのレンダリング、さまざまな基本クラスなど)が、現在私にとって機能していると思われる唯一のアプローチ(まだ試していません)は、現在のビューポートに収まるコントロールのみを作成することですスクロールに関するコントロールのこのリストを更新します。
PPS 3.5 SP1 には、スクロール中にリスト項目が再利用されるときに ListBox で使用されるメカニズムがあることを知っていますが、これらの項目はすべて異なるタイプであるため、ここではそのようなアプローチを使用できません。
どうもありがとう。
sql-server - Linq to SQL では、一度に複数の結果セットを返すか、複数のストアド プロシージャを使用して DB を呼び出す方がよいですか?
非常にデータ集約型でボリュームの大きい Web サイトを作成しています。Web サイトのすべての側面は、私が使用している MSSQL DB との対話によって駆動されます。1 つのページには、ページで使用する必要がある 10 ~ 12 の異なる結果セットがあります。そのため、Web アプリケーションで Linq-to-SQL と複数の結果セットを使用する場合のベスト プラクティスを知る必要があります。
複数の結果セットを返して、データを受信してそのように利用するクラスを作成するか、10-12 ストア プロシージャを呼び出して、以前に生成された LINQ To SQL データ クラスにデータを返す必要がありますか?
助けてくれてありがとう!それは有り難いです!
php - Digg (または他の高負荷カテゴリの Web サイト) はユーザー セッションをどのように保存していますか?
Digg やその他のトラフィックの多い Web サイトは、ユーザー セッションをどのように保存していますか? ユーザーセッションを保存するために何を使用しますか? ファイルシステム、DB (どれ?)、memcache、またはその両方?
簡単な状況を想像してみましょう。ログに記録されたユーザーは、ログイン中にフラグ「Remember me」を設定しました。有効期限が 1 年のセッション Cookie を設定しました。たとえば、セッションをmemcacheに保持していますが、このセッションの記録をDBにも保持する必要があります(私のバージョンでは)。「Remember me」フラグを持つユーザーのみが DB に保存されます。セッションを保存する正しい方法ですか?もちろん、トラフィックの多い Web サイト (2 つ以上のアプリケーション サーバー、2 つ以上のデータベース、memecache サーバーなど) を意味します。デフォルトの方法でセッションを保存する小さなWebサイトでは(ファイルシステムに)問題ありません。
私はグーグルで検索しようとしましたが、それに関する情報を見つけることができませんでした。「高度なPHPプログラミング」の本からいくつかの解決策を読みましたが、主なアクセントはセッション格納ハンドラーのカスタマイズにありました。
良いアイデアやリンクをお待ちしております。
ありがとうございました。