-
Type: Question
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Development Platform
Motivation for Request
Reduce considerably core server EVG patch time.
Context
As part of my Skunkwork project I tried to understand why starting up a sharded cluster using ShardingTest takes so long. Surprisingly I discovered that just spawning the mongod processes can take up to ~30 secs on Evegreen.
With "spawning" I mean the time that pass from when we [call execve| we call execve] to the time we execute the first instruction in mongod_main.
For instance in this patch it took ~34 secs to spawn 1 mongod process:
[js_test:shardingtest_control_12_nodes] d22050| XOXO execve at time: Mon Jul 18 14:51:16 2022 [js_test:shardingtest_control_12_nodes] d22050| XOXO mongod_main start: Mon Jul 18 14:51:25 2022
As of today we run ~883 tests in every of the 10 sharding suites, each test take ~30 secs just to spawn the process required to setup the cluster. So only accounting for sharding tests, we are spending at least 73 AWS machine hours per patch per variant just to spawn those processes.
It seems we have a huge space for improvement here.
- duplicates
-
SERVER-70797 Reduce mongod startup time by using lazy symbol resolution
- Closed
- is related to
-
SERVER-9761 Mongo executables should be built with '-z now' or equivalent on all nix platforms
- Closed
- related to
-
SERVER-50476 gdb.lookup_type on dynamically linked mongo programs can be prohibitively expensive
- Closed
-
SERVER-68475 Find solution to relocation overflow in static builds
- Closed
-
SERVER-55651 Migrate many non-shipping builders to --link-model=dynamic
- Closed
-
SERVER-66014 switch testing build targets to dynamic link model in evergreen
- Closed
-
SERVER-70797 Reduce mongod startup time by using lazy symbol resolution
- Closed