runner

Ansible role that deployes services on my runner machine

2 KBYML
performance.yml
2 KB72 lines • yaml
1---
2- name: Apply sysctl performance settings
3  sysctl:
4    name: "{{ item.key }}"
5    value: "{{ item.value }}"
6    state: present
7    reload: true
8  loop: "{{ runner_sysctl_settings | dict2items }}"
9  become: true
10  when: runner_performance_tuning_enabled | bool
11
12- name: Set TCP congestion control to BBR
13  sysctl:
14    name: net.ipv4.tcp_congestion_control
15    value: "bbr"
16    state: present
17    reload: true
18  become: true
19  when: runner_performance_tuning_enabled | bool
20
21- name: Enable TCP window scaling
22  sysctl:
23    name: net.ipv4.tcp_window_scaling
24    value: "1"
25    state: present
26    reload: true
27  become: true
28  when: runner_performance_tuning_enabled | bool
29
30- name: Configure NFS client performance optimizations
31  sysctl:
32    name: "{{ item.key }}"
33    value: "{{ item.value }}"
34    state: present
35    reload: true
36  loop:
37    - { key: "vm.dirty_background_ratio", value: "5" }
38    - { key: "vm.dirty_ratio", value: "10" }
39    - { key: "vm.vfs_cache_pressure", value: "50" }
40  become: true
41  when: runner_performance_tuning_enabled | bool and runner_nfs_enabled | bool
42
43- name: Set read-ahead values for storage devices
44  shell: |
45    for dev in $(lsblk -nd -o NAME | grep -E '^(sd|nvme|md)'); do
46      blockdev --setra 4096 /dev/$dev 2>/dev/null || true
47    done
48  become: true
49  changed_when: false
50  when: runner_performance_tuning_enabled | bool
51
52- name: Configure I/O scheduler for optimal container performance
53  shell: |
54    for dev in $(lsblk -nd -o NAME | grep -E '^(sd|nvme|md)'); do
55      echo mq-deadline > /sys/block/$dev/queue/scheduler 2>/dev/null || true
56    done
57  become: true
58  changed_when: false
59  when: runner_performance_tuning_enabled | bool
60
61- name: Optimize kernel parameters for containerized workloads
62  sysctl:
63    name: "{{ item.key }}"
64    value: "{{ item.value }}"
65    state: present
66    reload: true
67  loop:
68    - { key: "fs.inotify.max_user_watches", value: "1048576" }
69    - { key: "fs.inotify.max_user_instances", value: "1024" }
70    - { key: "vm.max_map_count", value: "262144" }
71  become: true
72  when: runner_performance_tuning_enabled | bool