問題タブ [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 に答える
369 参照

redis - 類似アイテムの巨大なランダム化リストをRedisに保存する

Redis 2.0.3

アイテムの膨大なリストをRedisに保存する必要があります。各項目は短い文字列(256文字未満)です。

リストで2つの操作を行う必要があります。

  • 多数(数千から百万)の同一アイテムを追加します。(一日に何度も)

  • リストからランダムなアイテムを1つ削除します。「公平な」ランダムである必要はありません。「十分に良い」アプローチならどれでもかまいません。(1秒間に最大数百回)

すべてのアイテムを1つずつリストに保存するのに十分なRAMがありません。

アイテムをまとめて、名前とカウンターで保管する必要があると思います。(数百のような、最大数千の異なるアイテムがあります。)

しかし、これを効果的に整理する方法がわかりません。

ヒントはありますか?

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

logging - Erlang 大量ロギング

私の erlang アプリケーションでは、sasl logger と log4erl の両方を使用しましたが、それらに送信されるイベント数が 1 秒あたり約 1000 の場合、どちらもパフォーマンスが低下します。log4erl はパフォーマンスが向上していましたが、しばらくするとメールボックスがいっぱいになり、VM が膨張し始めました。

disk_log を使用する方がより良いオプションになります (1 秒あたり 1000 イベントの負荷で動作するように?)。

シェルで disk_log を使用してみました...例では、最初にメッセージをバイナリ (list_to_binary) に変換し、「blog」関数を使用してファイルに書き込みます。

このようにすると、効率的な大量ロガーを使用するのに役立ちますか?

もう 1 つ疑問:: disk_log:blog を使用すると、テキストのサイズはわずか 84 バイトでした...しかし、disk_log:log_terms を使用すると、サイズは 970 バイトでした..なぜそんなに大きな違いがあるのでしょうか?

0 投票する
4 に答える
453 参照

php - より良い実践:SQLまたはWebサーバーに負荷をかけますか?

私は米国の主要大学のウェブマスターです。私が作成し、過去7年ほど担当してきたウェブサイトには、たくさんのリクエストがあります。私はこれまで以上に複雑な機能をWebサイトに組み込んでいますが、ストアドプロシージャ、ビューなどを使用して、マルチプロセッサMicrosoftSQLサーバーにプログラミングの負担をできるだけ多くかけることが常に私の習慣です。 IIS WebサーバーのPHP、ASP、またはPerlでは実行できないこと。どちらのサーバーも非常に強力で有能なマシンです。私はこれを長い間一人で行っており、誰もブレインストーミングを行うことはありません。私のアプローチが、将来のさらに高い負荷の状況に理想的であるかどうかを知りたいと思います。

私の質問は次のとおりです。ネストされたSELECTステートメント、ビュー、ストアドプロシージャ、および集計関数を使用してSQLサーバーに負荷をかける方がよいのでしょうか、それともサーバー側のコンパイルを使用して複数の単純なクエリを取得して処理する必要があるのでしょうか。 PHPのようなタイムスクリプト?続けますか、それともより良い方法を考え出しますか?

最近、いくつかの負荷トレースを実行し、SQLサーバーの肩にどれだけの負担をかけているかを学んだ後、パフォーマンスに関心を持つようになりました。WebサーバーとSQLサーバーはどちらも、1日を通して高速で応答性が高く、どれだけの量を使用するかはほとんど関係ありませんが、準備を整えて自分自身をトレーニングし、既存のコードに最適化されたベストプラクティスをアップグレードしたいと考えています。それが重要になる時。

あなたのアドバイスと入力をありがとう。

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

architecture - Web 向けの高負荷画像処理アーキテクチャ

の高負荷アプリケーションを実装する必要があります。

ユーザーは、ブラウザ経由で Web サーバーに画像を送信します。サーバーは画像を処理し、結果 (いくつかの文字列) をユーザーのブラウザーに送り返す必要があります。結果は 10 秒で表示され、Html-UI はサーバーの処理中に応答する (ブロックされない) 必要があります。

次のアーキテクチャについてどう思いますか?テクノロジは適切で、ソリューションはスケーラブルですか?

  1. ユーザー画像を取得する準備ができているいくつかの Web サーバー (~2-4) があります。
  2. イメージが受信されると、処理サーバーの 1 つに委任されます (ローカル ネットワークには、インターネットからアクセスできない 50 までの処理サーバーが必要です)。
  3. (a) クライアントは、処理結果が ajax を介して間隔 (1000 ミリ秒) で準備ができている場合、Web サーバーのポーリングを開始します。
  4. (b) クライアントには、結果の準備が整うとすぐにサーバーから結果を受け取るためのデュプレックス ブラウザー <-> Web サーバー チャネルを実装するフラッシュ/シルバーライト コンポーネントがあります。

その中にはいくつかの蒸気があります:

  1. 個人的には、インターネット環境で ajax ポーリング アプローチと二重通信 (フラッシュ/シルバーライトを使用) のどちらが好みですか? それとも混ぜますか?
  2. 処理結果の準備ができていることを Web サーバーはどのように知る必要がありますか? 処理サーバー (最大 50 個の処理サーバー) によって処理結果が通知され、Web サーバーに結果の準備ができていることを通知する単一の高速応答メディエーター サービスがローカル インターネットに存在する必要があると思います。
0 投票する
3 に答える
3351 参照

google-app-engine - Google Application Engine は、トラフィックの多いチャット Web サイトに適したプラットフォームですか?

おそらく、サーバー上で画像操作が行われるビデオストリーミングを使用して、トラフィックの多いチャットWebサイトを作成しようとしています。

Channel API (http://code.google.com/appengine/docs/python/channel/overview.html) をスキャンすると、AJAX ポーリングなしでこれを実行できることが期待されます。GAE は非常にスケーラブルであるというのが一般的な意見です。 .

私はまだいくつかの懸念があります:

1) 遅れることなくリアルタイムで相互に対話する何万もの同時ユーザーをサポートできますか? CPU使用率に上限はありますか?

2) 私は (おそらく) J2EE フレームワークの上にそれを書きます。GAE は、アプリケーションがサーバー (Java 用語では「ServletContext」) で実行され、おそらくギガバイトのデータを格納している限り、新しい要求ごとにグローバルなメモリ内データストアにアクセスできることを保証しますか? メモリー上限はありますか?

3) 完全な J2SE および J2EE スタックが利用可能になりますか? 希望するライブラリだけを含めることはできますか?

4) この種の問題に対して、GAE よりも優れた解決策はありますか? 数台の専用サーバーをレンタルすることを考えていましたが、これは数千/月になります...

前もって感謝します!

0 投票する
0 に答える
128 参照

mysql - 短命のデータを保持するためのMySQLテーブルの設計

私たちのアプリケーションは、さまざまなタイプのデータを処理します。そのうちの1つは、ライフサイクルが15分のデータです。このデータはフェッチされ、dbに配置され、15分より古い場合は、15分ごとにアイテムが削除されます。15分で最大100kのデータ行を取得するまで問題はありませんでしたが、削除するとデータベース(または正確なテーブルのみ、わかりません)がしばらくブロックされるようです。

MySQLで大量のデータを追加および削除する正しい方法は何ですか?メモリ内のテーブルを使用するか、dbクイックデータを分離するか、その他を行う必要がありますか?

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

java - 大量の CPU 使用率を消費するプロセス netbeans.exe (NetBeans 7.0)

1 日前に PC に Netbeans 6.8 をインストールしました...
Netbeans 6.8 を完全にアンインストールしてから、NetBeans IDE 7.0 (ビルド 201104080000) をインストールしました...

現在、プロセス netbeans.exe は 30% から 95% の範囲で大量の CPU 使用率を消費しています... これは、Java プロジェクトが開かれている場合にのみ発生します(ビルド/実行ではなく開かれている場合のみ)...

最初に netbeans 7.0 を開いたとき、CPU 使用率は通常のままです (3% から 7%)...
Java プロジェクトを開くか、新しい Java プロジェクト (Java アプリケーション、Java Web、Java EE または Java ME) を開始すると... CPU 使用率が 30% から 95% までランダムに消費さ
れて異常になります (netbeans.exe プロセスが原因で)... Java プロジェクトを閉じても、CPU 使用率は依然として高いままであり、Netbeans 7.0 を終了するまでその状態が続きます...

PHP Web アプリケーションのような別のプロジェクトを開いた場合は発生しません...

なぜこうなった?
netbeans 6.8 に戻すか、netbeans 6.9 をインストールする必要がありますか??

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

ruby-on-rails - RubyonRails。高負荷。建築の練習

RubyonRailsでの高負荷またはベストアーキテクチャの実践に関する最高の本やリソースを教えてください。そして、Webアーキテクチャ設計のベストプラクティスに関する本。ありがとう。

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

java - SaaSチャット用の高速でスケーラブルなサーバーアーキテクチャを設計するための支援が必要

ユーザーが自分のWebサイトに埋め込むことができ、デスクトップチャットクライアントもあるSaaSチャットを開発したいと思います。ライブチャットに似たもの。問題は、私がサーバーまたはデータベースプログラムを開発したことがないということです。また、私はJavaを初めて使用しますが、デスクトップC#プログラミングの経験があります(いくつかのGUIアプリを開発しました)。実際、私は学生で、それほど経験はありません。

サーバー用の優れたスケーラブルなアーキテクチャを設計しようとしていますが、数日間グーグルでウィキペディアを読んだ後、そのような量の情報に圧倒されたように感じます。サーバーにはプレゼンテーションコードが含まれていないためシンプルである必要がありますが、サービスが普及するとトラフィックが増えると予想されるため、非常に高速である必要があります。今のところ、使用するテクノロジーのほとんどを選択しました。これが私のバージョンのサーバーアーキテクチャです。

私の現在のアーキテクチャ

ここで最大の問題は、ビジネスロジックを含むこの大きな「Jetty」ピースをどのように設計するかです。MVPパターンを使用する必要があることはすでに学びました。しかし、まだいくつかの大きな問題があります。

  1. データベースを適切に操作する方法は?DatabaseManagerオブジェクトをデータベースにロードおよび保存できる静的クラスを作成しますか?または、クラスに特別な静的メソッドSaveToDbとメソッドを作成しますか?LoadFromDbそのようなもののためにすでに開発されたフレームワークがなければならないと思います(それはサーバーにとって非常に一般的なタスクでなければなりません)
  2. イベントシステムの設計方法は?「チャットルーム」のすべてのクライアントに新しいメッセージがあることを正しく通知するにはどうすればよいですか?NewMessageほとんどのクライアントはメモリではなくデータベースにあるため、すべてのクライアントをチャットルームのイベントに簡単にサブスクライブすることはできません。
  3. メインクラスの簡略化された設計を投稿すると、非常に役立ちます:Message、、。メッセージがユーザーからチャットルームに送信され、チャットルームはサブスクライブされたユーザーのコレクションです。これは、前の2つの質問に対する一種の答えになります。UserChat room

適切な技術やデザインパターンを教えていただければとても嬉しいです。

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

perl - Perl で単純な WHOIS プロキシを実装するにはどうすればよいですか?

単一のプロキシを使用したい複数のWHOISサーバーがあります。プロキシは、クエリのデータに基づいて適切なサーバーにリクエストを転送する必要があります。この問題にアプローチするには?