question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Worse performance when enabling compression (on GCP + Elastic Cloud)

See original GitHub issue

🐛 Bug Report

It seems that using the cloud authentication when creating the Client (instead of specifying an url) degrades performance in our case.

With an URL, the 90 percentile is around 80ms. With a Cloud ID, the 90 percentile is around 120ms.

This is reproducible : I can switch from an URL to a Cloud ID (see code below) and our perf test reports a performance degradation as seen above.

I have read that the cloud scheme enables compression and such, maybe this is the cause of the problem.

To Reproduce

Steps to reproduce the behaviour:

Creating the client:

new Client({
      cloud: {
        id: this.config.cloudId(),
        username: this.config.username(),
        password: this.config.password()
      },
      auth: {
        username: this.config.username(),
        password: this.config.password()
      }
    })

Previous code:

      return new Client({
        node: this.config.url()
      });
    }

Expected behavior

Performance should be the same in both case (connect with cloud or node).

Your Environment

  • node version: 10.17.0
  • @elastic/elasticsearch version: 7.5.0
  • Elasticsearch Cloud : 7.5.1
  • Google App Engine

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
tomsquestcommented, Jan 17, 2020

Hey thanks @delvedor to have taken some times to check this.

I will try to reproduce this with what you have given, in the following days.

  1. First test, on GAE, deploy your gist and test the actual performance
  2. Use a larger dataset, maybe ours
  3. Use a larger query set with a larger dataset
  4. Use Nest+Fastify as the http server

Test will be run from Blazemeter as it is easier for me and I won’t run a perf test from my laptop 😃

0reactions
stale[bot]commented, Feb 1, 2020

We understand that this might be important for you, but this issue has been automatically marked as stale because it has not had recent activity either from our end or yours. It will be closed if no further activity occurs, please write a comment if you would like to keep this going.

Note: in the past months we have built a new client, that has just landed in master. If you want to open an issue or a pr for the legacy client, you should do that in https://github.com/elastic/elasticsearch-js-legacy

Read more comments on GitHub >

github_iconTop Results From Across the Web

Enhancements and bug fixes - Elastic
Add Kibana server.compression.brotli.enabled setting to allowlist. For version 8.6 and higher of the Elastic Stack, you can now enable brotli compression ...
Read more >
Performance improvement & cost reduction with GCP Cloud ...
In this blog , I want to showcase the steps to enable Dynamic compression on Google Cloud CDN and also steps to verify...
Read more >
Configure disks to meet performance requirements
This page discusses the many factors that determine the performance of the block storage volumes that you attach to your virtual machine ...
Read more >
What is HTTP Compression? | Avi Networks
Some relevant file formats for lossless compression include GIF, PDF, PNG, SWF, and WOFF. To improve web performance, activate compression for all files...
Read more >
AI Enabling IBM Elastic Storage, Cloud File Storage ... - Forbes
IBM's latest storage announcements are geared to help create high-performance, cost-efficient AI solutions intended to provide greater insight, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found