問題タブ [scaling]
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.
html - HTMLのデフォルトの要素サイズ(HTMLページのスケーリング)
HTML要素の可能性のあるサイズ(たとえば、ビューポートのサイズを基準にしたピクセル単位のH1タグ)を計算する方法はありますか?
ページ内にHTMLページを表示したいのですが、コンテンツを適切に拡大縮小したいと思います。明らかに、要素がピクセル単位などで高さを指定している場合、それを簡単に縮小できますが、高さが指定されていない場合、どうすれば続行できますか?
提案、ポインタ、アイデアは大歓迎です。コード自体がコードではなくメソッドを探しているので、コードがPHP、Python、C ++、ASPのいずれであるかは関係ありません。
ありがとう
ミンティドッグ
sql-server - 1日あたり100万行増加する、10億行のテーブルでの「ピボットベースのクエリ」の実行時間をスケーリングおよび改善する方法に関するアドバイス
当社は、テキストファイルを解析するための内部プロジェクトを開発しています。これらのテキストファイルは、通常の式を使用して抽出されたメタデータで構成されています。10台のコンピューターが24時間年中無休でテキストファイルを解析し、抽出されたメタデータをハイエンドのIntel Xeon SQLServer2005データベースに供給しています。
簡略化されたデータベーススキーマは次のようになります。
内部に異なるメタデータを持つ多くの異なるテキストファイルタイプがあります。すべてのテキストファイルに対して、Item
および抽出されたすべてのメタデータ値に対して、Attribute
.
Items_Attributes
allow us to avoid duplicate Attribute
values which avoids database size to increase x^10.
This particular schema allows us to dynamically add new regular expressions and to obtain new metadata from new processed files no matter which internal structure they have.
Additionally this allow us to filter the data and to obtain dynamic reports based on the user criteria. We are filtering by Attribute
and then pivoting the resultset (http://msdn.microsoft.com/en-us/library/ms177410.aspx). So this example pseudo-sql query
would return a pivoted table like this
The application has been running for months and performance decreased terribly at the point is no longer usable. Reports should take no more than 2 seconds and Items_Attributes
テーブルは週に平均10,000,000行増加します。すべてが適切にインデックス化されており、クエリ実行プランの分析と最適化にかなりの時間を費やしました。
だから私の質問は、レポートの実行時間を短縮するためにこれをどのようにスケーリングしますか?
私たちはこの可能な解決策を持ってきました:
- ハードウェアを追加購入し、SQLServerクラスターをセットアップします。(適切な「クラスタリング」戦略に関するアドバイスが必要です)
- HBaseのようなキー/値データベースを使用します(問題が解決するかどうかはわかりません)
- RDBMSではなくODBMSを使用する(db4oを検討してきました)
- ソフトウェアをクラウドに移動します(経験はありません)
- 実行時に静的にレポートを生成します。(私たちは本当にしたくありません)
- 一般的なレポートの静的インデックスビュー(パフォーマンスはほぼ同じ)
- スキーマの非正規化(一部のレポートには、1回のクエリで最大50個のテーブルが含まれます)
mp3 - mp3 の平均音量を計算する
mp3 ファイルの平均音量を知る必要があるので、(異なるビットレートで) mp3 に変換するときに、音量もスケーリングして正規化できます...
したがって、平均音量を dB で表示するコマンド ライン ツール / ruby ライブラリが必要です。
php - ファイルを別のサーバーに転送する最良の方法は何ですか?
単一のサーバーの容量を超えて拡張されたファイル ホストを実行しており、ファイルの複数のサーバー ストレージを実装する必要があります。私はこれをできるだけ安くしたいので、それらの派手な大容量ストレージ方法は問題外です. ユーザーがすべての http と mysql をホストする「ゲートウェイ」サーバーにアップロードしたファイルを、メディアサーバーの 1 つに移動したいだけです。これは、ユーザーのリクエストの最後に実行するか、数分ごとに cron を介して実行できます。
この時点で、私が本当によく知っている唯一の方法は、ftp_put php 関数を使用して、単純にファイルを別のサーバーに転送することですが、過去にこの方法で問題が発生しました。転送されるファイルは 100 MB を超えます。
誰でもこれに対する良い解決策を提案できますか? できれば純粋なソフトウェア ソリューションを探しています...うまくいけば、php/bash スクリプトにすぎません。
vb.net - DataGridView のスケーリング
VB.net 3.5 SP1 には、3 つの DataGridView コントロールを持つ Windows フォームがあります。1 つの DGV がフォームの下半分全体を占めます。他の 2 つは上半分を共有し、横に並んでいます。
各 DataGridView を適切にスケーリングしたいと思います。より具体的には、列の幅と行の高さをフォームのサイズに合わせて調整したいと思います。次に、セル サイズの変更に基づいてセル フォントを自動入力したいと思います。
コントロールの Dock プロパティを使用して、フォームのサイズに合わせました。増加したフォーム サイズを利用する行とフォントを取得するにはどうすればよいですか?
ありがとう。
java - Swing:完全にスケーラブルなコンポーネントを実装するための良い方法は何ですか?
スクロール可能でスケーラブルな(ズーム可能な)ビューを持つアプリケーションを作成しています。このビュー内に他のコンポーネントを配置したいと思います(それらのほとんどはカスタマイズされたJPanel
sとJInternalFrame
s)。
フォントや境界線などの要素、およびボタンなどのサブ要素は、スケーラブルである必要はありません。コンテナコンポーネントの寸法と位置のみを指定する必要があります。
スケーラブルなコンポーネントを実装するための良い方法は何だと思いますか?
編集:私はすべてのコンポーネントを含むレイアウト全体のサイズ変更について話している。ズーム機能を備えたビジュアルUMLエディタなどを考えてみてください。
私の選択肢は次のとおりです。
- カスタムレイアウトマネージャーを作成します。
- カスタムのサイズ変更可能なサブコンポーネントを作成します。
- サブコンポーネントのサイズ変更を処理するカスタムコンテナを作成します。
- 他に何かしますか?
考えられる問題:
- ボイラープレートコード;
- コンポーネントの追加のカスタムプロパティへのアクセスを提供する必要性。
- コード内のコンポーネントの単純な(一貫性のない)表現ではありません。
- 他に何かありますか?
visual-c++ - すべての解像度で動作する MFC アプリを設計していますか?
私は現在、初めて Windows 用の GUI を設計しています。MFC と Visual Studio 2008 を使用しています。プログラムを設計しているモニターのネイティブ解像度は 1680x1050 です。プログラムをコンパイルして、同僚のコンピュータ (通常は 1024x768 で動作するラップトップ) で実行するために送信すると、私のプログラムは同僚の画面に収まりません。
すべての解像度で実行できるように MFC アプリケーションを設計する方法について調べてみましたが、誤解を招く情報が見つかり続けています。どこを見ても、DLU はアプリケーションのサイズを変更するものであり、問題が発生するのは、解像度を気にする必要がある実際のビットマップがある場合だけです。しかし、この場合、モニターをより低い解像度に設定すると、プログラムが画面に収まらなくなるのはなぜですか? 私のプログラムは、1680x1050 で使用するのと同じ量の画面領域を占有するために「縮小」する代わりに、巨大で粒子が粗くなります。
ここでの「明白な」解決策は、解像度を 1024x768 に設定し、画面に収まるようにプログラムを再設計することです。ただし、1024x768 で実行されている画面にプログラムが収まるように、ダイアログのすべてを可能な限り押しつぶしました。私のダイアログ フォントは Microsoft Sans Serif 8 に設定されていますが、1024x768 で実行すると、依然として巨大 (8 ポイントよりはるかに大きい) に見えます。
私のプログラムが同じスケーリングを維持する方法が必要であることは知っています...そうですか?それとも、これは問題にアプローチする間違った方法ですか? 800x600以上など、多くの解像度で実行できるようにMFCプログラムを設計するための正しい/標準的な方法は何ですか?
scalability - HAProxy と「シャーディング」
誰かが HAProxy をシャーディングに使用したことがあるかどうか疑問に思っていました。具体的には、私が定義した Cookie を識別子とともに使用し、その Cookie/識別子の組み合わせを提示するクライアントを同じサーバーに転送できるようにしたいと考えています。それは可能だと思われ、私の予備テストは機能しているようですが、よくわかりません。
私のリッスン構成は次のようになります。
ただし、ライブ HTTP ヘッダーを使用して要求ヘッダーを見ると、どのサーバーに送信されるかを示す mysession Cookie が表示されません。これは、プレフィックス操作に基づいて期待したものです。私はHAProxyを初めて使用するので、ヘルプ/ガイダンスは素晴らしいでしょう!
mysql - アイテムのソフト削除でこのスケーリングの問題を修正するにはどうすればよいですか?
ほとんどのテーブルにテーブルの削除フラグがあるデータベースがあります。そのため、システムはアイテムをソフト削除します(たとえば、管理者以外はアクセスできなくなります)
テーブルがはるかに大きくなる数年後に私が心配しているのは、システムの全体的な速度が低下することです。
そのような影響を打ち消すために私は何ができますか。
- 削除フィールドにインデックスを付けますか?
- 削除したデータを同じ削除テーブルに移動し、削除を取り消すと元に戻しますか?
- 時間の経過とともに、データをいくつかのMySQLサーバーに分散しますか?(成長に基づく)
ありとあらゆる提案やストーリーに感謝します。
アップデート:
したがって、パーティショニングがこれの鍵のようです。ただし、パーティション化するだけでは、2つの「テーブル」が作成されます。1つは削除されたアイテムがあり、もう1つは削除されたアイテムがありません。
したがって、時間の経過とともに、削除されたパーティションは大きくなり、パーティションからのフェッチが遅くなります(時間の経過とともに遅くなります)。
速度の違いは私が心配すべきことでしょうか?ほとんどの(すべてではないにしても)データを何らかのキー値でフェッチするため(一部は検索ですが、このセットアップでは遅くなる可能性があります)