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

Flight client is too slow in Monolith OSS & PRO #25466

Open
MaduMitha-Ravi opened this issue Oct 15, 2024 · 5 comments
Open

Flight client is too slow in Monolith OSS & PRO #25466

MaduMitha-Ravi opened this issue Oct 15, 2024 · 5 comments

Comments

@MaduMitha-Ravi
Copy link

Problem Statement

On Monolith OSS, while doing Performance runs we have observed that the Comparison between CURL and Flight query performance raises the doubt whether there could be an underlying bug with the Flight implementation in Monolith as the Flight latency is way too slow.

Expected Results

Flight naturally will be slower than Curl but 2x times and in some cases 10x times are not expected.

Metrics to support the identification of the problem

Below are the metrics captured for various queries with curl and flight,

  • Most of the queries irrespective of the query ranges report being about 2x times faster with curl
  • last value cache shows nearly 10x better performance with curl
Query load (concurrency = 1) OSS - 5m query range(P95 latency in ms) OSS - 5m query range(P95 latency in ms) OSS - 10m query range(P95 latency in ms) OSS - 10m query range(P95 latency in ms) OSS - 60m query range(P95 latency in ms) OSS - 60m query range(P95 latency in ms)
Client flight curl flight curl flight curl
c13 125.4 46.69 127.62 47.46 129.48 48.76
c14 89.5 45.01 90.28 58.48 122.19 47.38
f1 78.24 44.65 94.27 60.41 98.48 63.21
lastcachevalue_1 89.45 8.62 90.23 9 92.23 10.5
lastcachevalue_10 94.34 10.62 90.34 8.62 90.06 8.43

Reach out to @MaduMitha-Ravi for more details/metrics.

@hiltontj
Copy link
Contributor

@MaduMitha-Ravi any chance the code that uses the Flight client can be shared?

@MaduMitha-Ravi
Copy link
Author

@adrian-thurston Can you share please?

@adrian-thurston
Copy link
Contributor

Hi @hiltontj, code is here:

https://github.com/influxdata/perf-tools/blob/b460bba302257635a8724c9eb60cebb6bc9d556f/ic/query/query.go#L1154

@MaduMitha-Ravi MaduMitha-Ravi changed the title Flight client is too slow in Monolith OSS Flight client is too slow in Monolith OSS & PRO Oct 18, 2024
@MaduMitha-Ravi
Copy link
Author

fyi - Updated the title, the slowness is observed in OSS and PRO.

@praveen-influx praveen-influx self-assigned this Oct 22, 2024
@praveen-influx
Copy link
Contributor

praveen-influx commented Oct 22, 2024

@MaduMitha-Ravi - I've created an experimental branch to identify the bottle neck. You can see the actual changes in this draft PR. We have a mechanism in monolith to use the same port for both HTTP/GRPC (flightsql), but in my branch I've made them listen on separate ports (8181 for HTTP by default and 8183 for GRPC by default). I'd like to know if the difference in performance between flightsql client and curl can still be observed. Thanks

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

No branches or pull requests

4 participants