mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
8306a4d1e4
https://github.com/hasura/graphql-engine-mono/pull/1742 GitOrigin-RevId: 17ccd836171f6f39e808f8ac0f28da5cf8ef8f27
1.4 KiB
1.4 KiB
We've set up an EC2 AMI to be our test runner, to be run on c4.8xlarge
(the
benchmark scripts depend on various details of this instance type; e.g. the
number and arrangement of cores).
For now this is provisioned and modified manually. Here's a record of what we did:
sudo apt update
sudo apt dist-upgrade
sudo apt install cpupower linux-tools-common linux-tools-aws postgresql-client-common git
sudo apt install docker-ce docker-ce-cli containerd.io
sudo groupadd docker && sudo usermod -aG docker ${USER}
sudo apt install fio linux-tools-aws linux-tools-common
Added following to /etc/rc.local:
#!/bin/bash
# Disable deeper sleep states, use "performance" governor:
cpupower frequency-set -g performance
cpupower idle-set -D10
# Other voodoo...
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html
# Disable turbo-boost for less variability
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
Edit /etc/default/grub
and add intel_idle.max_cstate=1 idle=poll
to
GRUB_CMDLINE_LINUX_DEFAULT
:
# https://engineering.mongodb.com/post/reducing-variability-in-performance-tests-on-ec2-setup-and-key-results
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1 idle=poll"
Then run:
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Once we save the AMI, we give it the Name
tag of hasura-benchmarks-runner
.