Skip to content

Added performance test to resemble "questionable" benchmark#11971

Merged
alexey-milovidov merged 12 commits intomasterfrom
perf-test-questdb
Jul 8, 2020
Merged

Added performance test to resemble "questionable" benchmark#11971
alexey-milovidov merged 12 commits intomasterfrom
perf-test-questdb

Conversation

@alexey-milovidov
Copy link
Member

Changelog category (leave one):

  • Not for changelog (changelog entry is not required)

Added performance test to resemble "questionable" benchmark (a benchmark to create a table with 1bn random numbers and to check how fast we can calculate sum of them).

@blinkov blinkov added the pr-not-for-changelog This PR should not be mentioned in the changelog label Jun 26, 2020
@alexey-milovidov
Copy link
Member Author

Integration tests

Broken in #11903

@alexey-milovidov
Copy link
Member Author

Functional stateful tests (address) — No output log

An error with Docker registry.

Unable to find image 'yandex/clickhouse-stateful-test:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: EOF.
See 'docker run --help'.

@alexey-milovidov alexey-milovidov requested a review from akuzm July 4, 2020 20:35
@akuzm
Copy link
Contributor

akuzm commented Jul 7, 2020

40% expected variability for query no. 0 from questdb_sum_32 -- rather bad, but why? Let's open 'output.7z' and look at the variability of metrics for this query (questdb_sum_32_0_SELECT...right.metrics.rep). The second column is array [min, med, max] for metric value among query runs:

8	[4000,4000,36000]	SystemTimeMicroseconds
3.029	[144499493,151033285,602019377]	PerfMinEnabledRunningTime
2.27	[3,170,389]	OSCPUWaitMicroseconds
1.25	[2,4,7]	SoftPageFaults
1.178	[23,28,56]	PerfContextSwitches
1.151	[72,86,171]	NetworkSendElapsedMicroseconds
0.943	[67674059,68195397,132009544]	PerfBranchInstructions
0.597	[11877,15112,20905]	PerfInstructionTLBReferences

We see SystemTime go from 4 ms to the maximum of 36 ms, which is about 25% of the full run time of 150ms. This must be the profiler again... I think I'll have to disable it for measured runs, and only run it for prewarm runs.

@akuzm
Copy link
Contributor

akuzm commented Jul 7, 2020

omg, the memory profiling now takes 25% of query no.2 in questdb_sum_int32. These results won't make sense, I've reverted the profiling patch, will rerun the tests.

@akuzm akuzm self-assigned this Jul 7, 2020
@alexey-milovidov
Copy link
Member Author

Do I understand correctly, that performance test creates and fills all tables first and then runs all the tests with all substitutions?
Looks like there is a room for improvement...

@alexey-milovidov alexey-milovidov merged commit b87e9f6 into master Jul 8, 2020
@alexey-milovidov alexey-milovidov deleted the perf-test-questdb branch July 8, 2020 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-not-for-changelog This PR should not be mentioned in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants