[ZBX-17621] zabbix server listen backlog SOMAXCONN has fixed to 128, changing net.core.somaxconn and restarting zabbix-server doesn't work Created: 2020 Apr 23 Updated: 2024 Feb 09 Resolved: 2021 May 21 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Server (S) |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Problem report | Priority: | Trivial |
Reporter: | stan zhang | Assignee: | Zabbix Development Team |
Resolution: | Duplicate | Votes: | 1 |
Labels: | performance, usability | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified | ||
Environment: |
zabbix-server-mysql 4.4 running on rhel7.4 |
Issue Links: |
|
Description |
Steps to reproduce:
Result: LISTEN 0 128 *:10051 *:* users:(("zabbix_server",pid=1581,fd=4),("zabbix_server",pid=1580,fd=4),("zabbix_server",pid=1579,fd=4),("zabbix_server",pid=1578,fd=4),("zabbix_server",pid=1577,fd=4),("zabbix_server",pid=1576,fd=4),("zabbix_server",pid=1575,fd=4),("zabbix_server",pid=1574,fd=4),("zabbix_server",pid=1573,fd=4),("zabbix_server",pid=1572,fd=4),("zabbix_server",pid=1571,fd=4),("zabbix_server",pid=1570,fd=4),("zabbix_server",pid=1569,fd=4),("zabbix_server",pid=1568,fd=4),("zabbix_server",pid=1567,fd=4),("zabbix_server",pid=1566,fd=4),("zabbix_server",pid=1565,fd=4),("zabbix_server",pid=1564,fd=4),("zabbix_server",pid=1563,fd=4),("zabbix_server",pid=1562,fd=4),("zabbix_server",pid=1561,fd=4),("zabbix_server",pid=1560,fd=4),("zabbix_server",pid=1559,fd=4),("zabbix_server",pid=1558,fd=4),("zabbix_server",pid=1557,fd=4),("zabbix_server",pid=1556,fd=4),("zabbix_server",pid=1555,fd=4),("zabbix_server",pid=1554,fd=4),("zabbix_server",pid=1553,fd=4),("zabbix_server",pid=1552,fd=4),("zabbix_server",pid=1551,fd=4),("zabbix_server",pid=1550,fd=4),("zabbix_server",pid=1549,fd=4),("zabbix_server",pid=1548,fd=4),("zabbix_server",pid=1547,fd=4),("zabbix_server",pid=1546,fd=4),("zabbix_server",pid=1543,fd=4),("zabbix_server",pid=1538,fd=4)) Expected: i have saw the source code about listen() at line 1147 and 1308 in src/libs/zbxcomms/comms.c, the backlog value in listen() is set to "SOMAXCONN", but i can NOT found the reference of "SOMAXCONN", which is 128 in /usr/include/bits/socket.h. if you include this socket.h when compiling, it will fix to 128 and never bigger than 128. So is there any way to change it, or add a parameter "ListenBacklog" to zabbix_server.conf? |
Comments |
Comment by Glebs Ivanovskis [ 2020 Apr 25 ] |
From man listen: If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently truncated to that value. Since Linux 5.4, the default in this file is 4096; in earlier kernels, the default value is 128. In kernels before 2.4.25, this limit was a hard coded value, SOMAXCONN, with the value 128. I guess SOMAXCONN needs to be replaced with INT_MAX and users will be able to control actual value using net.core.somaxconn. |
Comment by stan zhang [ 2020 Apr 26 ] |
@Glebs yes, exactly |
Comment by Glebs Ivanovskis [ 2020 May 21 ] |
It seems there is an older issue, see |