kubedocker commited on
Commit
f5bd3cf
1 Parent(s): 632033e

Delete 30-tune-worker-processes.sh

Browse files
Files changed (1) hide show
  1. 30-tune-worker-processes.sh +0 -188
30-tune-worker-processes.sh DELETED
@@ -1,188 +0,0 @@
1
- #!/bin/sh
2
- # vim:sw=2:ts=2:sts=2:et
3
-
4
- set -eu
5
-
6
- LC_ALL=C
7
- ME=$(basename "$0")
8
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9
-
10
- [ "${NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE:-}" ] || exit 0
11
-
12
- touch /etc/nginx/nginx.conf 2>/dev/null || { echo >&2 "$ME: error: can not modify /etc/nginx/nginx.conf (read-only file system?)"; exit 0; }
13
-
14
- ceildiv() {
15
- num=$1
16
- div=$2
17
- echo $(( (num + div - 1) / div ))
18
- }
19
-
20
- get_cpuset() {
21
- cpusetroot=$1
22
- cpusetfile=$2
23
- ncpu=0
24
- [ -f "$cpusetroot/$cpusetfile" ] || return 1
25
- for token in $( tr ',' ' ' < "$cpusetroot/$cpusetfile" ); do
26
- case "$token" in
27
- *-*)
28
- count=$( seq $(echo "$token" | tr '-' ' ') | wc -l )
29
- ncpu=$(( ncpu+count ))
30
- ;;
31
- *)
32
- ncpu=$(( ncpu+1 ))
33
- ;;
34
- esac
35
- done
36
- echo "$ncpu"
37
- }
38
-
39
- get_quota() {
40
- cpuroot=$1
41
- ncpu=0
42
- [ -f "$cpuroot/cpu.cfs_quota_us" ] || return 1
43
- [ -f "$cpuroot/cpu.cfs_period_us" ] || return 1
44
- cfs_quota=$( cat "$cpuroot/cpu.cfs_quota_us" )
45
- cfs_period=$( cat "$cpuroot/cpu.cfs_period_us" )
46
- [ "$cfs_quota" = "-1" ] && return 1
47
- [ "$cfs_period" = "0" ] && return 1
48
- ncpu=$( ceildiv "$cfs_quota" "$cfs_period" )
49
- [ "$ncpu" -gt 0 ] || return 1
50
- echo "$ncpu"
51
- }
52
-
53
- get_quota_v2() {
54
- cpuroot=$1
55
- ncpu=0
56
- [ -f "$cpuroot/cpu.max" ] || return 1
57
- cfs_quota=$( cut -d' ' -f 1 < "$cpuroot/cpu.max" )
58
- cfs_period=$( cut -d' ' -f 2 < "$cpuroot/cpu.max" )
59
- [ "$cfs_quota" = "max" ] && return 1
60
- [ "$cfs_period" = "0" ] && return 1
61
- ncpu=$( ceildiv "$cfs_quota" "$cfs_period" )
62
- [ "$ncpu" -gt 0 ] || return 1
63
- echo "$ncpu"
64
- }
65
-
66
- get_cgroup_v1_path() {
67
- needle=$1
68
- found=
69
- foundroot=
70
- mountpoint=
71
-
72
- [ -r "/proc/self/mountinfo" ] || return 1
73
- [ -r "/proc/self/cgroup" ] || return 1
74
-
75
- while IFS= read -r line; do
76
- case "$needle" in
77
- "cpuset")
78
- case "$line" in
79
- *cpuset*)
80
- found=$( echo "$line" | cut -d ' ' -f 4,5 )
81
- break
82
- ;;
83
- esac
84
- ;;
85
- "cpu")
86
- case "$line" in
87
- *cpuset*)
88
- ;;
89
- *cpu,cpuacct*|*cpuacct,cpu|*cpuacct*|*cpu*)
90
- found=$( echo "$line" | cut -d ' ' -f 4,5 )
91
- break
92
- ;;
93
- esac
94
- esac
95
- done << __EOF__
96
- $( grep -F -- '- cgroup ' /proc/self/mountinfo )
97
- __EOF__
98
-
99
- while IFS= read -r line; do
100
- controller=$( echo "$line" | cut -d: -f 2 )
101
- case "$needle" in
102
- "cpuset")
103
- case "$controller" in
104
- cpuset)
105
- mountpoint=$( echo "$line" | cut -d: -f 3 )
106
- break
107
- ;;
108
- esac
109
- ;;
110
- "cpu")
111
- case "$controller" in
112
- cpu,cpuacct|cpuacct,cpu|cpuacct|cpu)
113
- mountpoint=$( echo "$line" | cut -d: -f 3 )
114
- break
115
- ;;
116
- esac
117
- ;;
118
- esac
119
- done << __EOF__
120
- $( grep -F -- 'cpu' /proc/self/cgroup )
121
- __EOF__
122
-
123
- case "${found%% *}" in
124
- "/")
125
- foundroot="${found##* }$mountpoint"
126
- ;;
127
- "$mountpoint")
128
- foundroot="${found##* }"
129
- ;;
130
- esac
131
- echo "$foundroot"
132
- }
133
-
134
- get_cgroup_v2_path() {
135
- found=
136
- foundroot=
137
- mountpoint=
138
-
139
- [ -r "/proc/self/mountinfo" ] || return 1
140
- [ -r "/proc/self/cgroup" ] || return 1
141
-
142
- while IFS= read -r line; do
143
- found=$( echo "$line" | cut -d ' ' -f 4,5 )
144
- done << __EOF__
145
- $( grep -F -- '- cgroup2 ' /proc/self/mountinfo )
146
- __EOF__
147
-
148
- while IFS= read -r line; do
149
- mountpoint=$( echo "$line" | cut -d: -f 3 )
150
- done << __EOF__
151
- $( grep -F -- '0::' /proc/self/cgroup )
152
- __EOF__
153
-
154
- case "${found%% *}" in
155
- "")
156
- return 1
157
- ;;
158
- "/")
159
- foundroot="${found##* }$mountpoint"
160
- ;;
161
- "$mountpoint" | /../*)
162
- foundroot="${found##* }"
163
- ;;
164
- esac
165
- echo "$foundroot"
166
- }
167
-
168
- ncpu_online=$( getconf _NPROCESSORS_ONLN )
169
- ncpu_cpuset=
170
- ncpu_quota=
171
- ncpu_cpuset_v2=
172
- ncpu_quota_v2=
173
-
174
- cpuset=$( get_cgroup_v1_path "cpuset" ) && ncpu_cpuset=$( get_cpuset "$cpuset" "cpuset.effective_cpus" ) || ncpu_cpuset=$ncpu_online
175
- cpu=$( get_cgroup_v1_path "cpu" ) && ncpu_quota=$( get_quota "$cpu" ) || ncpu_quota=$ncpu_online
176
- cgroup_v2=$( get_cgroup_v2_path ) && ncpu_cpuset_v2=$( get_cpuset "$cgroup_v2" "cpuset.cpus.effective" ) || ncpu_cpuset_v2=$ncpu_online
177
- cgroup_v2=$( get_cgroup_v2_path ) && ncpu_quota_v2=$( get_quota_v2 "$cgroup_v2" ) || ncpu_quota_v2=$ncpu_online
178
-
179
- ncpu=$( printf "%s\n%s\n%s\n%s\n%s\n" \
180
- "$ncpu_online" \
181
- "$ncpu_cpuset" \
182
- "$ncpu_quota" \
183
- "$ncpu_cpuset_v2" \
184
- "$ncpu_quota_v2" \
185
- | sort -n \
186
- | head -n 1 )
187
-
188
- sed -i.bak -r 's/^(worker_processes)(.*)$/# Commented out by '"$ME"' on '"$(date)"'\n#\1\2\n\1 '"$ncpu"';/' /etc/nginx/nginx.conf