Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add internal cache for /api/v1/services with scheduled update #1554

Closed
wants to merge 1 commit into from
Closed

add internal cache for /api/v1/services with scheduled update #1554

wants to merge 1 commit into from

Conversation

semyonslepov
Copy link

We use Zipkin with ElasticSearch in AWS and have the following problem: on a big amount of data request to /api/v1/services takes too long time and often we have timeouts in UI.
There is a try to implement opt-in internal caching of getServiceNames() result with scheduled updates. Now we are using this patch in our external environment, it improves a bit our users' experience. Hope it can help for upstream (maybe in another way of implementation).

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Apr 10, 2017 via email

@semyonslepov
Copy link
Author

Sure, I've seen these issues before, but I'll look for them again and put comments.

@codefromthecrypt
Copy link
Member

one last thing to verify. we recently compensated for this in #1538
are you running latest?

@semyonslepov
Copy link
Author

Yes, we're already using it, it's a great thing and helps a lot! But I suppose if we increase our workload significantly (and yes, we will do it), we will again face the same problem (and we won't be able to decrease QUERY_LOOPBACK because it's not affordable for our users).

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Apr 10, 2017 via email

@codefromthecrypt
Copy link
Member

moved my last comment to #1526 which was the issue I thought I was on!

@codefromthecrypt
Copy link
Member

@semyonslepov assuming w/current perf we might be able to close this?

@semyonslepov
Copy link
Author

So, results of the feature with new indexes are really good at response times. For our current setup and number of users, it's good enough.
But if there are tens/hundreds of users simultaneously opening Zipkin UI, it will be a disaster (because these requests are very expensive for ES). I wish it won't be the nearest future (:
If you see this type of machinery ugly for current architecture, we can close this PR now.

We will try to live with upstream version anyway (obviously it's much better than keep our local patches and synchronize them on new releases). In the bad case (I don't expect it now, but our setup is very young and we don't really know yet amount of our future users), we'll have to return to these patches or some similar machinery, because it doesn't depend on user count/RPS. (Or maybe there will be another better way to avoid such problems. For example, we thought about trying Cassandra instead of ES, haven't ever used it with Zipkin yet)

@codefromthecrypt
Copy link
Member

codefromthecrypt commented Apr 20, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants