問題タブ [page-caching]
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.
apache-kafka - Kubernetes で Kafka を実行するときにページ キャッシュ リソースを管理する方法
しばらくの間、大きな問題なく Kubernetes で Kafka を実行しています。しかし、最近 Cassandra ポッドのクラスターを導入したところ、Kafka でパフォーマンスの問題が発生し始めました。
Cassandra は Kafka のようにページ キャッシュを使用しませんが、ディスクへの書き込みを頻繁に行うため、おそらくカーネルの基盤となるキャッシュに影響を与えます。
Kubernetes ポッドが cgroup を介してメモリ リソースを管理していることは理解していますが、これは Kubernetes でメモリ要求と制限を設定することによって構成できますが、Cassandra がページ キャッシュを使用すると、Kafka ポッドのページ フォールトの数が増加する可能性があることに気付きました。リソースをめぐって競合しているようには見えません (つまり、ノードに利用可能なメモリがあります)。
Kafka では、ページ フォールトが増えるとディスクへの書き込みが増えるため、シーケンシャル IO の利点が損なわれ、ディスク パフォーマンスが低下します。AWS の EBS ボリュームのようなものを使用すると、最終的にバースト バランスが枯渇し、最終的にクラスター全体で壊滅的な障害が発生します。
私の質問は、Kubernetes でページ キャッシュ リソースを分離したり、Kafka ポッドが所有するページを Cassandra ポッドのページよりも長くキャッシュに保持する必要があることをカーネルに知らせることは可能ですか?
shopify - Shopify アプリのキャッシュの問題
製品詳細ページにボタンを表示してアクションを実行するアプリを開発しています。条件に基づいて同じものを表示するために product.metaifields を使用しています。基本的に、メタフィールドの値に応じてボタンの表示が切り替わります。
私たちが直面している問題は、管理セクションから機能を有効にすると、ブラウザーでハード リフレッシュを行わない限り、ユーザー側にボタンが表示されないことです。ここで起こることは、Shopify がメタフィールド値をキャッシュするため、条件チェックが機能しないことです。アプリで何らかのアクションを実行している間にページのキャッシュを削除する方法はありますか?
linux - O_DIRECT を介して読み取ると、最初にダーティ ページがフラッシュされますか?
次のことを行う単純なプログラムがあるとします。
保証されreadBuffer == writeBuffer
ますか?(このファイルへの他の fd が現在開いていないことを考えると、明らかに)
Linux でのいくつかの簡単なテストでは、はい、書き込み呼び出しからのダーティ ページが を介して読み取る前にディスクにフラッシュされることが示唆されてO_DIRECT
いるようですが、このシナリオについての言及はどこにも見つからないようです。私が知っている限りでは、それが機能したのは完全な偶然である可能性があり、他の POSIX ライクなプラットフォームで何が起こるかはわかりません。少なくともこれに関する「確固たる証拠」を入手したいと思います。
なぜあなたはこれをやっている?
これは、キャッシュされる大きなファイルを配布するアプリケーションのコンテキストにあります。ファイルの新しい部分を受け取ったら、新しい部分を確認したいと思います。を使用する利点は 2 つあります。1 つO_DIRECT
目は、データが正しく受信されたかどうかを確認するだけでなく、ストレージ メディアから適切に取得できることです。これがなければO_DIRECT
、ページ キャッシュからデータを取得しているだけであることがほぼ保証されます。なしで同じことを達成するには、LinuxO_DIRECT
のような移植性のない呼び出しを使用sync_file_range
してデータをディスクに取得し、ページ キャッシュからフラッシュしてmadvise
、最後に読み戻す必要がありました。(私はかつて、ダーティページでの呼び出しは本質的にヌープであるmadvise
という難しい方法を学んだので).
しかし、誰かがこれについてもっとエレガントな提案を持っているなら、私はすべて耳を傾けます. :-)MADV_DONTNEED
yii2 - Yii ajax 呼び出しで PageCaching を使用すると機能しない
私は Yii2 の高度なプロジェクトでページ キャッシングを実装しようとしていましたが、すべてがとてもクールに思えました。そして突然、私は奇妙な問題に見舞われました。
ケース: Web サイトのホームページには、DB からのレコードの表示などの動的データ、名前 (ユーザーがログインしている場合) などの現在のユーザーの情報、および静的コンテンツがあります。また、AJAX 呼び出しを使用して結果をフェッチする検索入力フィールド。
ページの読み込みを高速化するために、Yii2 が提供する PageCaching を実装しました。そして、すべてうまくいきました。しかし、私が行き詰まった 1 つの問題は、ユーザーのログイン後に ajax 呼び出しが機能せず、エラーが発生したことです。
Bad Request (#400): データ送信を確認できません。
設定した期間が経過した後にキャッシュが更新されるまで、またはキャッシュを無効にするまで、このエラーが発生します。
この問題は、Cookie/セッションまたはその他に関連していますか? それを解決する方法は?
ruby-on-rails-5 - Rails 5 で動的ページ キャッシングが失敗する
Rails 4.2 から 5.1 にサイトを更新しています
前のセットアップでは、生成されたスタイルシート (テナントごと) にページ キャッシュがあり、すべて完全に機能していました。
5.1にアップグレードした後、これは機能しなくなりました
actionpack-page_caching の最新バージョンの使用
キャッシュされたスタイルシートのコントローラーは次のようになります。
ログに次のエラーが記録されます。
スタイルシート モデルから直接レンダリングしているため、このための物理的なテンプレートはありません。モデルがデータを返すことを確認しました。
キャッシングは開発で有効になっています。
レイアウト ページでの動的スタイルシートへの参照は次のとおりです。
ヘルパー メソッド (application_helper 内) は次のとおりです。
ここで何がスキップ/見逃されているのかわかりません。何かポインタはありますか?