問題タブ [scalable]

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 投票する
2 に答える
1655 参照

performance - データベースを専用サーバーに置くとパフォーマンスが低下しますか?

システムを拡張する 1 つの方法は、Web サーバー、データベース サーバーに異なるマシンを使用し、サーバーの種類ごとに複数のインスタンスを使用することだと聞きました。

これにより、すべてに 1 つのサーバーを使用するモデルよりもパフォーマンスがどのように向上するのでしょうか? それらのサーバー間の接続にボトルネックはありませんか? さらに、別の Web サーバーからデータベース サーバーにアクセスするときは、同期に注意する必要があります。

0 投票する
3 に答える
2751 参照

php - PHP: ユーザーがオンラインかどうかを追跡する最も効率的な方法は?

スケーラビリティを念頭に置いてプロジェクトを開発していますが、岐路に立っています。私の Web サイトで、ユーザーがオンラインかどうかを検出したいと考えています。そして、これを処理する最善の方法がまったく思い浮かびません。私が考えていた方法は、これらの行に沿ったものです(疑似コードで):

したがって、ユーザーがログインするたびに、彼のonline列を に更新できますtrue。ただし、最終的には、ユーザーがログインするたびに SQL クエリが発生することになり、1 秒あたり 10 回のログインとなると、大量のクエリが発生します。別のテーブルで同じことを行うことができると私が考えた別の方法:

何らかの理由で、テーブルから分離されているため、メモリ消費量が少なくなると思いuserます。ただし、パフォーマンスに実際に影響があるかどうかはわかりません。

ですから、あなたの洞察力で私を祝福していただければ、私はさらに感謝します、ありがとう.

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

android - Androidタブレットのアプリにスケーラブルでない幅を設定する

私はphonegapを使用してAndroidタブレット用のアプリに取り組んでいます。私は既存のウェブページを変換しているので、cssやhtmlを変更したくないです。ギャラクシータブ(android 2.2)を使用してテストしています

表示可能な幅を800pxに設定し、ユーザーがズームイン/ズームアウトできないようにします。

を使用する <meta name="viewport" content="width=800px>と、幅は正しく設定されますが、ユーザーはページを拡大縮小できます。

を使用する<meta name="viewport" content="width=800px, user-scalable=no">と、ユーザーはページを拡大縮小できませんが、幅は狭くなります(つまり、ページが拡大され、ユーザーはページを表示するためにスクロールする必要があります)

私が考えることができる他の唯一のことは、私が見つける方法がわからない魔法の数字が<meta name="viewport" content="minimum-scale=x, maximum-scale=x">どこにあるかを使用することです。x

どんな助けでもいただければ幸いです。

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

database - 読み取りが非常に遅い場合でも、高速な書き込みパフォーマンス

これに対する回答が既にある場合は申し訳ありません。検索しましたが、私のシナリオが正確に見つかりませんでした。

もう一度、「最速/最高のパフォーマンスの DB は?」のような質問です。しかし、答えはシナリオに依存するため、私のシナリオは次のとおりです。1 秒あたり数千のログを DB に書き込みたいと考えています。しかし、私はそれらを頻繁に読むことはありません。実際、それらの 99,99% は二度と読まれることはありませんが、たまには読む必要があります。スキーマは複雑ではなく、キーと値だけです。ときどき値で読み取りますが、この読み取りに数分かかるかどうかはまったく気にしません。読み取りの正確性は重要ですが、パフォーマンスは重要ではありません。

これまでのところ、MongoDB、Cassandra、そしておそらく最高の DynamoDB のようなものが最善の解決策のようです。

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

atomic - スケーラブルな O(1) メモリ スレッド カウンター?

たくさんのカウンターを備えたたくさんのスレッドがあります。スレッドはカウンターをデクリメントし、カウンターがゼロになると興味深いことが起こります。これは、アトミック ops で実装するのは簡単です。

ただし、スレッドまたはカウンターの数に関係なく、2 つのプロパティを保持する必要がある場合は、さらに難しくなります。

  1. スケーラビリティ: カウンターのデクリメントは O(ポリログ) です。
  2. コンパクトさ: カウンターあたりのメモリは O(1) です。

私はこれらのいずれかを単独で行う方法を知っています: 単純な実装はコンパクトで、階層的なカウントネットワーク [4] はスケーラブルです)。両方を行うことは可能ですか?

注: O(n) スレッドは、O(n) 未満の時間で O(n) 個の異なる変更 O(1) メモリを作成できないため、これを解決するには、異なるカウンター間でデータ構造を共有する必要があります。

[4]: J. Aspnes、M. Herlily、および N. Shavit。ネットワークを数えます。ACM のジャーナル、41(5):1020-1048、1994 年 9 月。

更新: Jed Brown は、O(1) 時間は不可能であるという明白な事実を指摘しました。ポリログに変更。

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

jakarta-ee - ハイメモリでスケーラブルな Java EE アプリケーションの扱い

私は Java EE アプリケーションで作業していますが、これはサーバー側のアプリケーション レベルのインメモリ データを大量に必要とします (つまり、ユーザー レベルのデータではありません)。アプリケーションレベルのデータとは、データがすべてのユーザーに対して一定であることを意味します (マスターデータなど)。これまで、16 GB の RAM を搭載した単一の Windows サーバーで、15 ~ 20 人の同時ユーザーに対して EHCache を使用していました。アプリケーションのヒープ サイズを 8 GB に指定しました。

ここで、アプリケーションを再設計して、500 を超える同時ユーザーをサポートできるようにする必要があります。これにより、より多くのインメモリ データ要件が発生します。

アプリケーションが十分にスケーラブルであるように、そのようなシナリオであなたの視点を持ちたいと思います。

私の理解によると、次の解決策が役立ちます-

  1. 負荷が分散されるように負荷分散を実装しますが、各サーバーのインメモリ データはアプリケーション レベルのデータであるため、依然として高くなります。ある程度は役に立ちますが。

  2. データをキャッシュに保持するのではなく、ステートレス操作としてこれを実装します。しかし、これはパフォーマンスに影響を与えます。ステートレスがスケーラビリティの鍵であるとどこかで読みました。これは手間がかかりすぎるので避けたいです。

  3. Terracotta の BigMemory を EHCache と組み合わせて使用​​します。基本的に、特別な方法でディスクにデータを保持します。つまり、データ アクセス速度は良好です。これは無料の製品ではないことに注意してください。このような無料のオプションはありますか?

  4. クラウドベースのメモリ アーキテクチャを選択しますか? これについてはあまり意識していません。

どんな提案でも大歓迎です。

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

arrays - Excel 列のコンテンツの配列を作成する方法

Excel スプレッドシートの列 A に 10 個の値があります (それ以上になります)。列の値を取得して配列に入れる方法はありますか?

また、可能であれば、スプレッドシートとは異なる順序で値を配置することもできます。たとえば、スプレッドシートの値が「Apple」「Orange」と「Banana」の場合、配列は位置 0「オレンジ」、位置 1「バナナ」、位置 2「Apple」のようになります。

これがどのように行われるか知っている人はいますか?ちなみに、コードをあまり編集せずに、10 から 1000 の値にスケーラブルにする必要があります。

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

c++ - QPainter を使用してスケーラブルな QIcon を描画する

新しい QIcon をデザインして、周囲に角の丸い四角形の固定テキストのように見せたい

アイコンは、最終的にスケール変換が適用される QPainter でペイントするときに、「ピクセルブロック」効果なしでスケーリングすることになっています (たとえば、スケールが適用された QGraphicsView の一部であるウィジェットにペイントするとき)。

そのため、QIcon をどのように描画すればよいかわかりません。次のようにすると、常に一定量のピクセルを持つ QPixmap をペイントするため、スケールが十分に大きい場合、必然的にピクセル ブロック効果が導入されます。

私が探しているのは、QFont withdrawTextの動作に似た方法です。スケールの大きさに関係なく、フォントを描画すると常にシャープに見え、個々のピクセルを検出できません。

QPainterアイコンを特定のピクセル四角形に描画し、アイテムをより大きな四角形またはピックスマップにレンダリングする前に四角形自体QPainterを変換するように指示できると思います。しかし、どうすればこのようなことができるのかわかりません。QIconEngine::paint

私は愚かで、明らかな解決策が見えていませんか?

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

javascript - スケーラブルな方法で JavaScript Web アプリケーションの i18n フィールドを切り替える

製品のカタログを管理する 100% JavaScript Web アプリケーションを作成しています。Backbone & Mustache などを使用しています。

各製品には名前があり、翻訳する必要があります。そのため、製品ごとに、<input>翻訳する言語と同じ数の要素を次のように追加します。

<input>CSSクラスに依存する現在選択されている言語に応じて、最初のレンダリング時、およびユーザーが言語を変更したときに、要素を表示/非表示にします:

この方法は少しナイーブかもしれませんが、データを保存するために必要なすべての情報が各入力フィールドの属性に含まれているため、単純です。blurユーザーがフィールドを離れたときにデータを保存するイベントをリッスンしています。

問題は、要素の数が増えると言語の切り替えが遅くなることです。

私は良いテクニックを使っていますか?言語が変更されたときに製品アイテムを再レンダリングすることは良い解決策ではないと思います。

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

window - デバイスに依存しないピクセル(DIP)用のWindowsストアアプリを構築する方法

私はWindowsストアアプリを構築しています。Visual Studio.net2012でWindows8とWPFを使用しています。

このアプリケーションのUIは、さまざまな画面にスケーラブルである必要があります。10.6インチ画面の解像度1920x1080のシミュレーターでアプリを実行すると、コントロール(ボタン、画像、テキスト)が正しく収まるページを作成しました。問題は、解像度を変更すると、コントロールが正しく動作しないことです。

  • 解像度または画面サイズを大きくすると(たとえば、23インチ画面の場合は1920 x 1080)、ページに空のスペースが作成されます。
  • 解像度または画面サイズを小さくすると(たとえば、10.6インチ画面の場合は1024 x 768)、コントロールサイズも大きくなり、下部に表示されすぎるためにUIに表示されないものもあります。

画面サイズや解像度に依存しない「スケーラブルな」ストアアプリを構築する方法はありますか?コントロールサイズとフォントサイズは、解像度が変更されたとき、または画面間で増減する必要がありますが、すべてがスペースに収まり、空の領域が作成されないようにする必要があります。

どんな助けでも大歓迎です。

ありがとうございました