Skip to content

Very poor performance when using RedisCacheAdapter #5401

Closed
@saulogt

Description

@saulogt

Issue Description

I'm running my Parse Server app on 4 Heroku dynos for some time now. It's a 10k requests per minute app.
I Recently noticed some issues where data were not found just after saving to parse. I immediately thought it would be related to caching, then I tested RedisCacheAdapter and the problem was solved. The documentation is not clear about the need to use a distributed cache. Should I use rediscache even on a (multi-cpu) clustered app?

After some time my app started to slow down to the point of getting timeouts. Adding more dynos didn't help

is-parse-server metrics heroku 2019-02-28 14-52-56

Heroku Redis (premium 0) metrics:
redis-opaque-85942 heroku data 2019-02-28 14-56-51

I'm under the impression that I reached the scale limit of parse server.

Steps to reproduce

Add a RedisCacheAdapter to a heavy multi-node app

Expected Results

Run smoothly

Actual Outcome

Timeouts

Environment Setup

  • Server

    • parse-server version (Be specific! Don't say 'latest'.) : 2.8.4
    • Operating System: N/A
    • Hardware: Heroku Standard-2X (4 dynos)
    • Localhost or remote server? (AWS, Heroku, Azure, Digital Ocean, etc): Heroku
  • Database

    • MongoDB version: 3.2.20
    • Storage engine: WiredTiger
    • Hardware: mLab dedicated
    • Localhost or remote server? (AWS, mLab, ObjectRocket, Digital Ocean, etc): mlab

Logs/Trace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions