問題タブ [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.

0 投票する
1 に答える
484 参照

caching - 非常に同時実行環境での NoSQL + 分散キャッシュのデータ整合性

スライドでは、予約システムの非常に大まかなアーキテクチャを見ることができます。多くのユーザーが一度に同じホテル/部屋を予約しようとする可能性がある、非常に並行的な環境です。

一番下には NoSQL データベースがあり、迅速な応答/要求のために、データを要求する分散キャッシュとアプリケーションがあります。

このスライドの考え方は、NoSQL + Distributed Cache を使用すると、同期の問題、つまりデータの整合性の問題が発生するということです。分散キャッシュを NoSQL db と同期する必要があります。

質問: IMDG 以外に、そのような場合に既に存在するソリューション/テクニックは何ですか? これは、フレームワークまたはベスト プラクティスの両方である可能性があります。この問題を解決する特定の分散キャッシュはありますか?

質問 2 [更新]:キャッシュではなく NoSQL データベースに書き込む理由は何ですか? それはトランザクションですか、ノード障害の可能性ですか、それとも何か他のものですか?

PSこれは私のスライドではありません。著者は、これは IMDG の優れた使用例であると主張しています。

ここに画像の説明を入力

0 投票する
1 に答える
175 参照

php - 高負荷プロジェクトのフルスタック フレームワークで PHP を使用するのは悪い考えですか?

PHP コードがバイトコードにコンパイルされ、実行のたびに (つまり、すべてのページ要求で) 再実行されることを私は知っています。そのため、エンジンはすべてのリクエストで、使用されているすべてのクラス、関数、変数などを再定義する必要があります。

Laravel や CakePHP などのフルスタック フレームワークを使用する場合、これは、構成ファイルの解析、ルートの登録、クラスの自動ロードなど、すべてのリクエストで同じブートストラップ作業が何度も行われることも意味します。

これは、そのようなものを処理するための非常に不適切な方法のようです。また、OPcache やフレームワーク キャッシング システムなどのキャッシングも、スクリプトを実行する必要があるため、十分には役に立ちません。

一方、NodeJS や Ruby などのエンジンに基づくアプリケーションは、起動時に 1 回だけコンパイルおよびブートストラップされます。したがって、PHP よりも優れたスケーラビリティーを備えているはずだと思います。

しかし、PHP は非常に人気があり、Facebook でさえ使用しています。では、負荷が高い可能性がある Web サイトの正しい選択は何だろうか? そのような目的でフルスタック フレームワークで PHP を使用するのは悪い考えですか?

0 投票する
1 に答える
142 参照

php - PHP を使用して高負荷で Mysql 整数フィールドをインクリメントする方法

次の問題が発生しました: mysql テーブルの 1 つの列をインクリメントしようとすると、トラフィックの負荷が高いと値が同期しなくなります。

タスクは、列をインクリメントすることと、別のテーブルに新しい行を追加することの 2 つに分割されます。したがって、100 行を追加すると、カウンターは 100 のままになります。

100リクエスト/秒などの高負荷では、カウンターに問題が発生し、カウンター値で80を取得しましたが、120行が追加されました。

問題は、一部のリクエストが他のリクエストよりも速く処理され、値を上書きする可能性があることだと思います。誰かが私を正しい方向に向けるのを手伝ってくれるか、この問題を解決する方法を提案してくれることを願っています.

ベスト、ニルス

0 投票する
1 に答える
165 参照

java - 高速ツリー評価

私は評価ツリークラスを持っています。各ノードには厳密な順序で子があります。サーバーには、そのようなツリーのリストがあります。

HashMapsクライアントがサーバーに正常に接続すると、計算のために選択されたツリーにさまざまなものが送信されます。典型的なHashMaps には、[変数文字列名、変数 int 値] のペアがあります。

それぞれTreeNodeに複雑な条件があり、変数を読み取ったり、AND、OR、XOR などの演算を行ったり、他の変数や数値と比較したりできます。それぞれTreeNodeにステートメントもあり、変数を読み書きしたり、新しい変数をHashMaps に配置したりできます。これは、後で別の で読み書きできますTreeNode

ツリーの単純化された構造を次に示します。

HashMap私のコードは現在、100 個のノードを持つツリーと10 個の変数を持つ入力に対して、Intel i7 u3517 で約 200000 回/秒の反復を実行します。どうすれば高速化できますか?

0 投票する
2 に答える
177 参照

javascript - 1 つの get メソッドでタグオブジェクトを複製する方法は?

1ページにsvg画像データのクローンタグオブジェクトを作る方法。サーバーへの get メソッドが多くない場合。対象ページのサンプル

このサンプルは、graph.svg への多数の get 要求を使用して、graph.svg を取得します。最初のリクエストでは結果 200 が表示され、その後はすべて結果 304 が表示されますが、次のものが 1 回も必要ありません。

attr 宣言を見つけましたが、次のコードは #tg1 の attr データでは機能しません。

data attr では、tg1 は次の get 要求を送信します。

html、wo jsでこれを行うにはどうすればよいですか。現在のページから相対 uri ~like xpath でデータを受け取ることは可能ですか?

graph.svg は自己レンダリング イメージです。div のシャドウ ルート (現在はバリアントではありません) で作業できます。1 つの方法である場合 - JS を使用するには、どのように XMLHttpRequest の結果をタグ オブジェクトのドキュメントに入れることができますか?

document.querySelector("...") などの要素を使用した構築。contentWindow/contentDocument/document/window/innerHTML = ... うまくいきません。

js の場合 - jquery やその他のフレームワークではなく、純粋な js でのソリューションが必要です。ファイアフォックス/クローム。

0 投票する
1 に答える
126 参照

ruby-on-rails - バックグラウンダー アーキテクチャを備えたハイロード Rails サーバー

これが私の仕事です。2 つおきのバックグラウンダー タスクは、何らかのデータに基づいて json を生成する必要があります。この操作は CPU を集中的に使用するものではなく (主にネットワーク)、JSON コンテンツ (5 ~ 10KB) を生成します。操作には約 200ms かかります。

また、数秒に 1 回、約 1000 のクライアントがこのコンテンツを要求しています。約 200 リクエスト/秒としましょう。

サーバーは現在の実際のjsonを出力するだけです。

現在、この作業に関連する他の仕事をしているレール4 + nginx + passenger + debianサーバーがすでにあります。

学生であるため、次の方法で簡単にスケーリングできる最も費用対効果の高い方法でサーバーを作成したいと考えています。

  1. バックグラウンダー ジョブをいくつか追加し、より多くの json を生成する
  2. リクエスト数を 1 秒あたり 10,000 に増やす

現在、2 つの CPU コアを搭載した linode 2048 ssd を使用しています。私の質問は次のとおりです。

  1. バックグラウンダー タスクにどの gem/solution を使用すればよいですか (現在は ruby​​ で記述されています)
  2. 実際の json を効果的に保存し、バックグラウンダーから rails/nginx に渡す方法。
  3. json をできるだけ速く提供する方法。
0 投票する
1 に答える
878 参照

elasticsearch - Logstash/Elasticsearch/Kibana リソース プランニング

負荷に応じてリソース (elasticsearch インスタンスと思われます) を計画する方法:

負荷とは、約 500K イベント/分を意味し、それぞれに 8 ~ 10 フィールドが含まれます。

どの設定ノブを回す必要がありますか? 私はこのスタックが初めてです。