mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
Merge "Fix numerous issues in AMI related scriptology" from Vlad
" A few fixes in scripts that were found when debugging #3508. This series fixed this issue. " Fixes #3508 * 'ami_scripts_fixes-v1' of https://github.com/vladzcloudius/scylla: scylla_io_setup: properly define the disk_properties YAML hierarchy scylla_io_setup: fix a typo: s/write_bandwdith/write_bandwidth/ scylla_io_setup: hardcode the "mountpoint" YAML node to "/var/lib/scylla" for AMIs scylla_io_setup: print the io_properties.yaml file name and not its handle info scylla_lib.sh: tolerate perftune.py errors
This commit is contained in:
13
dist/common/scripts/scylla_io_setup
vendored
13
dist/common/scripts/scylla_io_setup
vendored
@@ -39,32 +39,33 @@ if __name__ == "__main__":
|
||||
idata = scylla_util.aws_instance()
|
||||
|
||||
disk_properties = {}
|
||||
disk_properties["mountpoint"] = "/var/lib/scylla"
|
||||
nr_disks = len(idata.ephemeral_disks())
|
||||
## both i3 and i2 can run with 1 I/O Queue per shard
|
||||
if idata.instance() == "i3.large":
|
||||
disk_properties["read_iops"] = 111000
|
||||
disk_properties["read_bandwidth"] = 653925080
|
||||
disk_properties["write_iops"] = 36800
|
||||
disk_properties["write_bandwdith"] = 215066473
|
||||
disk_properties["write_bandwidth"] = 215066473
|
||||
elif idata.instance() == "i3.xlarge":
|
||||
disk_properties["read_iops"] = 200800
|
||||
disk_properties["read_bandwidth"] = 1185106376
|
||||
disk_properties["write_iops"] = 53180
|
||||
disk_properties["write_bandwdith"] = 423621267
|
||||
disk_properties["write_bandwidth"] = 423621267
|
||||
elif idata.instance_class() == "i3":
|
||||
disk_properties["read_iops"] = 411200 * nr_disks
|
||||
disk_properties["read_bandwidth"] = 2015342735 * nr_disks
|
||||
disk_properties["write_iops"] = 181500 * nr_disks
|
||||
disk_properties["write_bandwdith"] = 808775652 * nr_disks
|
||||
disk_properties["write_bandwidth"] = 808775652 * nr_disks
|
||||
elif idata.instance_class() == "i2":
|
||||
disk_properties["read_iops"] = 64000 * nr_disks
|
||||
disk_properties["read_bandwidth"] = 507338935 * nr_disks
|
||||
disk_properties["write_iops"] = 57100 * nr_disks
|
||||
disk_properties["write_bandwdith"] = 483141731 * nr_disks
|
||||
disk_properties["write_bandwidth"] = 483141731 * nr_disks
|
||||
properties_file = file("/etc/scylla.d/io_properties.yaml", "w")
|
||||
yaml.dump({ "disks": disk_properties }, properties_file, default_flow_style=False)
|
||||
yaml.dump({ "disks": [ disk_properties ] }, properties_file, default_flow_style=False)
|
||||
ioconf = file("/etc/scylla.d/io.conf", "w")
|
||||
ioconf.write("SEASTAR_IO=\"--io-properties-file={}\"\n".format(properties_file))
|
||||
ioconf.write("SEASTAR_IO=\"--io-properties-file={}\"\n".format(properties_file.name))
|
||||
else:
|
||||
if os.environ.has_key("SCYLLA_CONF"):
|
||||
conf_dir = os.environ["SCYLLA_CONF"]
|
||||
|
||||
21
dist/common/scripts/scylla_lib.sh
vendored
21
dist/common/scripts/scylla_lib.sh
vendored
@@ -46,6 +46,21 @@ verify_args() {
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# get_mode_cpu_set <mode name, e.g. 'mq', 'sq', 'sq_split'>
|
||||
#
|
||||
get_mode_cpu_set() {
|
||||
local mode=$1
|
||||
local mode_cpu_mask=`/usr/lib/scylla/perftune.py --tune net --nic "$nic" --mode "$mode" --get-cpu-mask` 2>&-
|
||||
|
||||
# If the given mode is not supported - return invalid CPU set
|
||||
if [[ "$?" -ne "0" ]]; then
|
||||
echo "-1"
|
||||
else
|
||||
echo "$mode_cpu_mask" | /usr/lib/scylla/hex2list.py
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# check_cpuset_conf <NIC name>
|
||||
#
|
||||
@@ -56,9 +71,9 @@ get_tune_mode() {
|
||||
[[ ! -e '/etc/scylla.d/cpuset.conf' ]] && return
|
||||
|
||||
local cur_cpuset=`cat /etc/scylla.d/cpuset.conf | cut -d "\"" -f2- | cut -d" " -f2`
|
||||
local mq_cpuset=`/usr/lib/scylla/perftune.py --tune net --nic "$nic" --mode mq --get-cpu-mask | /usr/lib/scylla/hex2list.py`
|
||||
local sq_cpuset=`/usr/lib/scylla/perftune.py --tune net --nic "$nic" --mode sq --get-cpu-mask | /usr/lib/scylla/hex2list.py`
|
||||
local sq_split_cpuset=`/usr/lib/scylla/perftune.py --tune net --nic "$nic" --mode sq_split --get-cpu-mask | /usr/lib/scylla/hex2list.py`
|
||||
local mq_cpuset=`get_mode_cpu_set 'mq'`
|
||||
local sq_cpuset=`get_mode_cpu_set 'sq'`
|
||||
local sq_split_cpuset=`get_mode_cpu_set 'sq_split'`
|
||||
local tune_mode=""
|
||||
|
||||
case "$cur_cpuset" in
|
||||
|
||||
Reference in New Issue
Block a user