問題タブ [memcachier]

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 に答える
1112 参照

ruby-on-rails - キーと値のペアを非同期に設定して Rails.cache.write を改善する

Rails.cache.write現在、dalli を使用してmemcachierクラウドにアイテムを書き込む際のパフォーマンスを改善することを考えています。

キャッシュに関連するスタックは、現在次のとおりです。

heroku, memcachier heroku addon, dalli 2.6.4, rails 3.0.19

パフォーマンス監視に newrelic を使用しています。

現在、「アクティブな学生」のリストを必要とするリクエストを処理するコントローラーからメソッドが呼び出されたBusinessUserときに、インスタンスで表される特定のログイン ユーザーの「アクティブな学生」を取得しています。active_students

newrelic を調べた後、基本的に memcachier に重要な値を設定することで、アプリの大きなパフォーマンス ヒットを 1 つ絞り込みました。毎回平均225ミリ秒かかります。さらに、memcache キー値を設定するとメイン スレッドがブロックされ、最終的にリクエスト キューが中断されるようです。明らかに、これは望ましくありません。特に、キャッシング戦略の要点がパフォーマンスのボトルネックを減らすことである場合はなおさらです。

さらに、プレーン dalli と Rails.cache.write を使用してキャッシュ ストレージのベンチマークを行い、同じ値の 1000 個のキャッシュ セットを使用しました。

通常の dallicache.setでは、2.066113 秒を使用して 1000 エントリをキャッシュに書き込み、平均cache.set時間は 2.06 ミリ秒です。

ではRails.cache.write、2.108364 秒を使用して 1000 エントリをキャッシュに書き込み、平均Rails.cache.write時間は 2.11 ミリ秒です。

⇒ memcachier の問題ではなく、単に保存しようとしているデータの量に問題があるようです。

#fetch メソッドのドキュメントによると、キャッシュセットをwritereadのスレッドまたはワーカーにスローしたい場合、それは私が行きたい方法ではないようです。そして自明のことですが、私は非同期で読みたくないのです。

Rails.cache.writeキーの値を設定するときに、ワーカーにスローすることでボトルネックを減らすことはできますか? または、より一般的には、実行するたびにメインスレッドをブロックしないように、これを行うためのより良いパターンはありRails.cache.writeますか?

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

ruby-on-rails - memcachier と通常の Rails.cache を使用する利点

この記事に出くわしましたhttps://devcenter.heroku.com/articles/memcachier

キャッシュをmemcachierに保存する主な利点は何ですか。
サーバー自体でのキャッシュと比較して、キャッシュに他のサービスを使用する利点は何ですか?

Railsで低レベルでキャッシュする場合、特に利点はありますか??

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

ruby-on-rails - heroku へのデプロイ時に memcachier(memcached) エラーが発生しました

Gemfile の ruby​​ のバージョンは v2.1.2 で、rails のバージョンは 4.1.1 です。

と、こんなものがあります。

すでに memcachier アドオンを追加しています。しかし、レールコードをherokuにデプロイすると、このエラーが発生しました。

これの理由は何ですか?どうすれば回避できますか?

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

ruby-on-rails - require 'dalli' はコンソールで false を返しますが、それは gemfile にあります

https://devcenter.heroku.com/articles/memcachier#rubyに従ってください

memcachier と dalli gems を追加し、バンドル インストールを行いました

次に、コンソールを実行しました

そして私はタイプした

false を返します

理由はわかりませんが、ステージングおよび本番環境でもこれを行います

0 投票する
0 に答える
196 参照

node.js - Heroku ワーカー Dyno memcachem

私は 3 つの dyno を使用する Heroku アプリを持っています。1 つの Web と 2 つのワーカー dyno です。ダイノ間通信には memcachier を選択します。すべては nodejs を使用して実装されます。

Web-Dyno は memcacher サービスに問題なく接続でき、魅力的に動作しますが、worker dyno に接続しようとすると失敗し、TCP 接続がリセットされます。

サービスに接続する方法は、Web-Dyno で既に機能している方法と同じです。

問題はどこだ?

このコード:

web-dyno では動作しますが、worker-dyno では動作しません。

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

php - heroku PHP セッションにアプリを再デプロイすると消える

Heroku にセッションを使用する Symfony アプリがあります (例: ユーザーのログイン状態を維持するため)。



memcachier を構成しました (heroku addonsコマンドの出力):



.user.iniまた、プロジェクトのルートに次の内容のファイルを作成しました。



composer.jsonまた、次の要件に追加しましたext-memcached



したがって、経由でインスタンスにログインしheroku run bash、memcahed モジュールがインストールされているかどうかを確認すると、すべて問題ないようです (nginx および php5-fpm を介して実行された phpinfo() も同じ構成値を返します)。



ただし、インスタンスを検査しheroku run bashて実行すると、設定してもsession.save_handlerが残っているphp -i | grep sessionことがわかりますfiles.user.ini session.save_handler = memcached

.user.iniでは、実際の構成で構成が有効にならないのはなぜphp.iniでしょうか?