問題タブ [nfsclient]
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.
java - java FileOutputStream の write() または flush() が NFS クライアントに実際にデータを NFS サーバーに送信させないのはなぜですか?
私の Java Web アプリケーションは NFS ファイル システムを使用します。FileOutputStream を使用して、ファイルを開き、複数のチャンクを書き込んでから閉じます。
プロファイラーの統計から、stream.write(byte[] payload,int begin, int length) と stream.flush() でさえ 0 ミリ秒かかることがわかりました。メソッド呼び出し stream.close() のみがゼロ以外のミリ秒かかります。
java FileOutputStream の write() または flush() は、実際には NFS クライアントが NFS サーバーにデータを送信する原因にはならないようです。NFSクライアントにリアルタイムでデータをフラッシュさせる他のJavaクラスはありますか? または、NFS クライアントのチューニングを行う必要がありますか?
python - python libnfs NfsClient 作成ファイル
私はpython libnfs(NfsClient)が初めてです。サーバー上に特定のサイズの新しいファイルを作成しようとしています。誰かが私に方法を教えてもらえますか?
書き込みモードで開こうとすると、無効なファイル エラー (ファイルが存在しません) が発生します。使い方がわからない _create 関数があることを確認しました。
これは私が使用している libnfs モジュールです。ドキュメントはオンラインでどこでも見つけることができます。また、ドキュメントを見つけるのを手伝ってくれませんか。
c - アプリケーションが O_DSYNC でファイルを開いている場合でも、NFS クライアントが書き込み要求を集約する
オプションを使用して NFS マウントでファイルを開くアプリケーションを実行していO_DSYNC
ます。次に、アプリケーションは6500
ループ内のファイルにデータのバイトを 1000 回書き込みます。
クライアントの動作を監視したところ、基盤となるファイルシステムに 4096 バイトと 8192 バイトのバッチで書き込みが送信されていることがわかりました。
に従ってman open
、 で開かれたファイルに対する書き込み操作は、O_DSYNC
同期化された I/O データの整合性の完了の要件に従って完了します。さらに、次のように述べています。
では、基礎となるファイルシステムがデータを正常に書き込むまでO_DSYNC
、呼び出しは返されないと想定しました。write()
それはここで起こっていることではありません。NFS クライアントは書き込みをキャッシュし、4k の倍数でフラッシュしています。これはなぜですか?
ここでは、Linux バージョン 4.9 を実行する Amazon EC2 インスタンスをページ サイズ 4096 で使用していることに注意してください。