rsyslog significantly slows down OpenStack services
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Committed
|
High
|
Maksim Malchuk | ||
6.1.x |
Won't Fix
|
High
|
MOS Maintenance | ||
7.0.x |
Won't Fix
|
High
|
MOS Maintenance | ||
8.0.x |
Won't Fix
|
High
|
MOS Maintenance | ||
Mitaka |
Fix Released
|
High
|
Maksim Malchuk |
Bug Description
Detailed bug description:
It's observed that OpenStack API services reply with different delay on different controllers in the cluster. The difference is around 10 times. The investigation shows that the "slow" node becomes faster if rsyslog service is stopped. Please see detailed strace captures in attachment below.
Note: this bug maybe related to https:/
Steps to reproduce:
The issue appears at 200-node scale after Rally tests execution
Expected results:
Services work fast
Actual result:
Service slow 10x times when rsyslog is running
Reproducibility:
2 out of 2 times
Workaround:
Disable rsyslogd
Impact:
Supportability
Description of the environment:
Operation system: Ubuntu
Versions of components: MOS 9
Reference architecture: MOS
Network model: Neutron 9
Related projects installed: none
Changed in fuel: | |
importance: | Undecided → Medium |
tags: | added: area-library |
Changed in fuel: | |
assignee: | nobody → Fuel Sustaining (fuel-sustaining-team) |
status: | New → Confirmed |
milestone: | 9.0 → 10.0 |
Changed in fuel: | |
assignee: | Fuel Sustaining (fuel-sustaining-team) → Maksim Malchuk (mmalchuk) |
tags: | added: scale |
rsyslogd is ON (note that one of calls lasts for 1.5 seconds!):
13:55:30.540264 setsockopt(8, SOL_TCP, TCP_QUICKACK, [1], 4) = 0 <0.000031> 1\r\nUser- Agent: curl"..., 8192, 0, NULL, NULL) = 77 <0.000010> htons(9292) , sin_addr= inet_addr( "192.168. 0.88")} , [16]) = 0 <0.000009> var/log/ glance/ api.log" , {st_mode= S_IFREG| 0644, st_size=2606291, ...}) = 0 <0.000016> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000017> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000014> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000015> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000011> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000009> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000013> var/log/ glance/ api.log" , {st_mode= S_IFREG| 0644, st_size=2606519, ...}) = 0 <0.000015> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000018> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000013> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000012> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000017> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000017> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000013> var/log/ glance/ api.log" , {st_mode= S_IFREG| 0644, st_size=2606718, ...}) = 0 <0.000010> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000012> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000012> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000010> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000012> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000009> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ...}) = 0 <0.000009> etc/localtime" , {st_mode= S_IFREG| 0644, st_size=118, ......
13:55:30.540419 recvfrom(8, "GET / HTTP/1.
13:55:30.540550 getsockname(8, {sa_family=AF_INET, sin_port=
13:55:30.540985 stat("/
13:55:30.542807 stat("/
13:55:30.542885 stat("/
13:55:30.542987 stat("/
13:55:30.543091 write(3, "2016-05-10 13:55:30.540 7654 DEB"..., 228) = 228 <0.000020>
13:55:30.543186 stat("/
13:55:30.543228 stat("/
13:55:30.543274 stat("/
13:55:30.543344 sendto(7, "<151>May 10 13:55:30 glance-api:"..., 260, MSG_NOSIGNAL, NULL, 0) = 260 <1.587517>
13:55:32.131202 stat("/
13:55:32.131641 stat("/
13:55:32.131721 stat("/
13:55:32.131791 stat("/
13:55:32.131885 write(3, "2016-05-10 13:55:32.131 7654 DEB"..., 199) = 199 <0.000019>
13:55:32.131979 stat("/
13:55:32.132066 stat("/
13:55:32.132139 stat("/
13:55:32.132218 sendto(7, "<151>May 10 13:55:32 glance-api:"..., 231, MSG_NOSIGNAL, NULL, 0) = 231 <0.000012>
13:55:32.132385 stat("/
13:55:32.132463 stat("/
13:55:32.132515 stat("/
13:55:32.132564 stat("/
13:55:32.132628 write(3, "2016-05-10 13:55:32.132 7654 DEB"..., 222) = 222 <0.000017>
13:55:32.132728 stat("/
13:55:32.132772 stat("/
13:55:32.132812 stat("/
13:55:32.132863 sendto(7, "<151>May 10 13:55:32 glance-api:"..., 254, MSG_NOSIGNAL, NULL, 0) = 254 <0.000011>
13:55:32.133379 sendto(8, "HTTP/1.1 300 Multiple Choices\r\nC"..., 768, 0, NULL, 0) = 768 <0.000038>
13:55:32.133468 stat("/