問題タブ [redislabs]
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.
ruby-on-rails - Heroku でこれほど多くの従業員を目にすることができるのはなぜですか? 他のワーカーへのアクセスを制限するにはどうすればよいですか?
Heroku で実行している Rails アプリで resque-web にアクセスすると、40 を超えるワーカーが表示されます。
Heroku アカウントに接続されている resque ワーカーは 1 つだけです。このワーカーはすべてのキューを処理します:
他の人のワーカーが自分のキューに干渉するのを制限する方法はありますか? HerokuのRedislab adonを使用しています。
ruby-on-rails - sidekiq は本番環境でバーストで実行されます
開発中は、期待どおりに動作し、ワーカーが何かを行う必要があるかどうかに応じて、平均して約 5 ~ 7 のプロセスが実行されます (ワーカーが作業中のオブジェクトが更新されてから数日経っていないため、作業しないことを決定します)
本番環境では、動作が異なります。約 400 のバーストで実行されているようで、すぐにワーカーのスケジュールを変更し、少し待ってから再びバーストを撃ちます。
ワーカーは facebook API (koala gem) で動作します。これには、sidekiq-throttler ( https://github.com/gevans/sidekiq-throttler )を使用します。
オプションで
procfileでherokuとredislabs(現時点では無料プラン)を使用しています
と sidekiq のセットアップ:
これは何かの既知の症状ですか?
heroku - 複数の RedisLabs データベースに接続するために、Spring Cloud Connector for Heroku を使用する
ホームページで説明されているように、私のアプリケーションには複数のRedisLabs データベースが必要です。
プラン内の複数の専用データベース
1 つのプランで複数の DB を有効にし、それぞれが専用のプロセスでノンブロッキング方式で実行されます。
Heroku (またはローカルの Foreman) に接続するためにSpring Cloud Connectorsに依存していますが、RedisServiceInfoCreator クラスは単一の RedisLabs URL を許可しているようです。REDISCLOUD_URL
最初の redis 接続ファクトリを構成した方法は次のとおりです。
複数の redis labs データベースを使用する場合、 2 番目の接続ファクトリを構成するにはどうすればよいですか?
c# - StackExchange.Redis を使用して redis から複数のハッシュを取得する
redis サーバーから約 10k のハッシュを取得する必要があります。redis には複数のハッシュを取得するコマンドがないため、db.HashGetAllAsync()
call を使用してすべてのキーを反復処理し、すべてのタスクが完了するのを待っていました。うまくいきましたが、これらの呼び出し中に RedisLabs ダッシュボードで劇的なレイテンシースパイクが見られました.
同時に多くのハッシュを取得する方法はありますか? ConnectionMultiplexer
このような場合に役立つ設定はありますか?
google-app-engine - Google App エンジン - Redislabs Go ランタイム プロダクション エラー - 無効なメモリ アドレスまたは nil ポインタ逆参照
Google App Engine Go Runtime で (Redis Labs の) Redis Cloud サービスを使用しています。存在しないキーを取得しようとすると、上記のエラーが発生します。コードはローカル テスト サーバーでは正常に動作しますが、運用環境ではパニックになります。
ログは、パニックが行にあることを示しています_, err = c.Do("AUTH", "password")
magento - Magento と RedisLab Redis クラスター バックエンド
Magento RedisLab クラスター統合の問題
クラスター redis データベースをデプロイした後、FPC とセッションは完全に機能しますが、クラスター redis ( RedisLab ) インスタンスを Magento Cache セクションに追加すると、1 つの問題に直面します。
ADD TO CART >> をクリックすると、製品を追加できません
バックエンド エラー
例外を無効にすると、その作業ファイル
/var/www/magento/lib/Zend/Cache.php:209
node.js - NodeJS アプリケーションの Hazelcast と Redis (または RedisLabs) の比較
2 TB を超えるデータをキャッシュに保存するアプリケーションがあり、NodeJS API を使用してデータにアクセスします。NodeJS アプリの場合、Hazelcast または Redis(または RedisLabs) のどちらがより適切な選択でしょうか? 次の基準を考慮していますか?
- 接続プーリングを含む NodeJS API サポート。HazelCast には NodeJS API がないようです
ベンチマークでは、Hazelcast はマルチスレッド実装により高速であり、スケーラブルであることも理解しています。しかし、NodeJS (データ構造の設定が必要) を使用してこれらの優れた機能を効果的に活用できますか? 最後に、RedisLabs で複数のシャードを持つことができます。これは、複数のスレッドまたはプロセスがそれぞれのデータのチャンクで動作するようなものです。その場合、マルチスレッドの性質による Hazelcast の優位性は Redis には当てはまりますが、RedisLabs には当てはまりません。これについて何かコメントはありますか?
heroku - Heroku の Redis Cloud の BROKER_URL
Heroku で Redis を使用しています。RedisToGo と Redis Cloud を試しています。DB の URL を取得してBROKER_URL
、django アプリの設定に入れる必要があります。RedisToGo ではダッシュボードに明確に URL が表示されますが、Redis Cloud では表示されません。誰かがそれを取得する方法を知っていますか?
go - redigo: ダイヤル tcp を取得しています: 接続: 要求されたアドレスを割り当てることができません
redis (redislabs でホストされている) に対して、1 秒あたり約 400 回の読み取りと 1 秒あたり 100 回の書き込みを行うアプリケーションがあります。アプリケーションはgithub.com/garyburd/redigo
パッケージを redis プロキシとして使用しています。
読み取りと書き込みに使用される唯一の関数が2つあります。
ご覧のとおり、推奨される接続プーリング メカニズム ( http://godoc.org/github.com/garyburd/redigo/redis#Pool ) を使用しています。
アプリケーションのエンドポイントが取得するすべての http 要求でこれらの関数を呼び出しています。問題は、アプリケーションがリクエストの取得を開始すると、すぐにエラーをスローし始めることです。
(54.160.xxx.xx:yyyy は redis ホストです)
これが発生し始めたとき、約 600 の接続しかないことを redis で確認しましたが、これはそれほど多くないように思えます。
MaxActive
の設定で遊んでみましたpool
が、1000 から 50K の間のどこかに設定しましたが、結果は同じです。
何か案は?
編集
これが私のプール初期化コードです(これを で実行しますfunc init
):
編集2: 以下の回答で提案されているものを適用することで問題が解決しました!
プール初期化の新しいコード:
この新しい init により、get および set タイムアウトが redigo によって内部的に処理されるようになるため、getCachedVPAIDConfig および setCachedVPAIDConfig 関数でチャネルを返す必要がなくなりました。これは彼らが今どのように見えるかです: