問題タブ [disk-io]
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.
windows - Windows - ディレクトリへの実際の書き込みを防止
ログ ファイルに常に (毎秒約 2k - 約 80 メグ) 書き込みを行うサード パーティのアプリケーションを使用しています。アプリケーションがログ ファイルから読み取るとは思いません。デバッグ目的のためだけにあると思います。これは Windows 2008 R2 マシンで、Users ディレクトリの「Roaming」のサブフォルダに書き込みます。
Windows でデータを書き込まない (ただし、成功メッセージを返す) 方法はありますか? アプリケーションが失敗することは望ましくありませんが、一定のディスク アクティビティが発生しないようにしたいと考えています。
簡単でクリーンなオプションはありますか?
ありがとう!
linux - Mongodb のパフォーマンスが Windows よりも Linux の方が優れているのはなぜですか?
Linux (Ubuntu) と Windows (Server2008) でシャードされた MongoDB のパフォーマンスをテストするプログラムを作成しました。大量のレコードを挿入すると、Windows のディスクのアクティブ時間が非常に長くなり (100%)、パフォーマンスが非常に悪くなります。しかし、Ubuntu では、ディスクの util% は 60% ~ 70% であり、パフォーマンスは Windows よりも優れています。Linux で MongoDB のパフォーマンスが優れていると言えますか?
c++ - libevent を使用してファイル ロックが解除されたことを検出する方法は?
libevent を使用してノンブロッキング ディスク ファイル記述子の読み取り/書き込みの準備ができていることを検出しているときに (強制ロックによって保護されたファイルの場合)、次の問題に直面しました。
ファイルが別のプロセスによって IO 用にロックされている場合、読み取り/書き込み呼び出しを発行すると、現在のプロセスで EAGAIN が発生します。これは、文書化された API の動作と完全に一致します。
ただし、これらの FD が IO の準備のために libevent によってポーリングされると、IO の準備ができていることが検出され、コールバックが呼び出されます。
これに対する解決策を見つけようとしていますが、正しい行で検索しているかどうかわかりません。これらの呼び出しを回避することは可能ですか?
openstack-swift - オブジェクトストレージSwiftのパフォーマンスは30秒ごとに変動します
cosbench を使用してクラスターのパフォーマンスをテストしようとすると、オブジェクト ストレージのパフォーマンスが 30 秒ごとに変動することがわかりました。次のような実験が行われました。
プロキシ サーバー 1 台とストレージ サーバー 5 台 (オブジェクト サーバー用に 3 台、アカウント/コンテナー サーバー用に 2 台)、各サーバーには 8*1T HDD、64GB メモリ、および 12 個の CPU コアがあります。サービス オブジェクト サーバーだけが起動されます。1 つのクライアントだけが小さなオブジェクトをクラスターに配置すると、この現象が発生します。多くのディスク リクエストが到着し、すべてのディスク レイテンシが 30 秒ごとに突然上昇することがわかりました。なぜこれが起こるのか、誰でも教えてくれます。
windows - Windows で書き込みキャッシュの賢明な順序付けを作成する
構築中のデータベース システム用に書き込みキャッシュ (WOW キャッシュ) の賢明な順序付けを作成することを検討していますが、ファイルの領域を物理ディスク領域にマッピングするのに問題があります。
DeviceIoControlを使用してファイルの仮想クラスター割り当てを取得できることを発見しましたが、これを物理ディスクの場所に関連付ける方法がわかりません。
これは Windows で可能ですか? そうでない場合は、回避策またはより適切な書き込みキャッシュ アルゴリズムがあります。
c# - ファイルごとのディスク使用統計 C#
以前、プロセスごとの統計を説明する複製が提案されましたが、必要なファイルごとではありません。何日も検索した後、ファイルごとのディスク統計を取得する特定の方法が見つかりません。
私は PerfMonitor を作成していますが、どのファイルに拡張的な ReadWrite 操作があるかを表示したいと考えています。これによく似ています:
(Windowsパフォーマンスモニター)
詳細な WMI 検索を含むすべての PerfCounters を試しましたが、すべて FileSystem 全体の数値または「プロセス全体に 1 つの数値」しか表示されません。
各プロセスのファイルハンドルをリストしてから、この方法で情報を取得しようとしましたが、ファイルハンドルからこの統計を取得する方法が見つかりません。
各プロセスをフックしてすべての ReadWrite バイトをカウントするためにどこかを読みましたが、システム全体をフックすると単純でも効率的でもないように見えます
逆アセンブラを使用して、Windows PerfMon が使用している関数を調べましたが、やはり何も得られませんでした。
誰かが私を助けることができる何かを聞いたことがありますか?
前もって感謝します。
operating-system - SCAN および CSCAN アルゴリズム
ディスク スケジューリングの SCAN と CSCAN アルゴリズムの動作を理解するのに苦労しています。私の本では、次のように書かれています: [10 22 20 2 40 6 38] (ディスクは現在 20 ですが) 最初に移動する SCAN は [(20) 20 22 38 40 10 6 2] を提供します。これには、[0 2 16 2 30 4 4] シリンダー、合計 58 シリンダーの移動が必要です。[(20) 20 22 38 40 10 6 2] というパターンはどのようにしてできたのでしょうか?
sql - 最初のクエリのパフォーマンスを向上させる
次のデータベース (postgres) クエリが実行される場合、2 番目の呼び出しははるかに高速です。
オペレーティング システム (Linux) がディスクからデータを取得する必要があるため、最初のクエリは遅いと思います。2 番目のクエリは、ファイルシステム レベルおよび postgres でのキャッシュの恩恵を受けます。
データベースを最適化して、最初の呼び出しで結果をすばやく取得する方法はありますか?
最初の呼び出し(遅い)
2 回目の呼び出し(高速)
foo3_text テーブルのテーブル レイアウト (28M 行)
ハードウェアの変更 (従来のディスクの代わりに SSD) または RAM ディスクが可能です。しかし、現在のハードウェアでもより高速な結果が得られる可能性があります。
バージョン: x86_64-unknown-linux-gnu 上の PostgreSQL 9.1.2
詳細が必要な場合は、コメントを残してください。