IT技术分享

分享技术文章

Linux 中怎么使用 ss 和 netstat 命令检查 Apache 的并发连接数。

通常,当 Web 应用程序运行缓慢时,我们使用top 命令来检查服务器性能,这是每个 Linux 管理员采用的第一级故障排除步骤。

有时,由于与  的多个并发连接,Web 服务器响应非常缓慢。如果是这样,您可能需要检查有多少活动连接,以及哪个 IP 占用了来自 Apache 的最大连接数。

并非每个 Apache 连接都是真正的用户,其中一些是搜索引擎蜘蛛,如 googlebot、yahoobot、百度蜘蛛。这些恶意机器人从同一个 IP 地址同时向 Apache 发出多个请求。

Apache Web 服务器使用“MaxRequestWorkers”指令控制并发连接,并且'256'是 MaxRequestWorkers 的默认值。任何超出 MaxRequestWorkers 限制的连接尝试通常都会排队,最多可达基于 ListenBacklog 指令的数量。

您可以根据服务器配置和其他要求调整此值,但在更改 MaxRequestWorkers 值时还必须增加“ServerLimit”值。

可以使用“netstat”“ss”命令找到并发 Apache 连接,这些命令被系统管理员和安全专业人员广泛使用。

什么是ss命令?

ss代表套接字统计信息。它用于转储有关网络/套接字连接的套接字统计信息。

它显示类似于 netstat 的信息,但与 netstat 相比,它运行得更好更快。它可以显示比其他工具更多的 TCP 和状态信息。

它比 netstat 更快,因为它直接从内核空间获取所有信息。

netstat 命令是什么?

netstat代表网络统计信息。它显示网络连接、路由表、接口统计、伪装连接、多播成员和网络协议统计。

在大多数 Linux 发行版中,netstat 命令已被弃用并替换为 ss 命令。

它读取各种“/proc”文件以收集信息。如果要显示大量连接,则需要更多时间。

1)检查并发Apache连接数

运行以下 ss 命令以查找到 Apache 的并发连接总数:

# ss -ant | grep -E ':80|:443' | wc -l

或者,您可以使用 netstat 命令获取 Apache 并发连接,如下所示:

# netstat -ant | grep -E ':80|:443' | wc -l

2)详细检查Apache的并发连接

运行下面的 ss 命令来查看 Apache 连接的详细信息,而不是计算它。

它显示了服务器上端口 80 和 443 上的活动互联网连接:

# ss -ant | grep -E ':80|:443'

使用 netstat 命令检查相同的信息,如下所示:

# netstat -ant | grep -E ':80|:443'      

3) 列出按 IP 排序的 Apache 连接

要从每个 IP 地址计算 Apache 中当前活动的连接数并对其进行排序,请使用以下命令:

# ss -ant |grep -E ':80|:443'|grep ESTAB| awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -nr
   

同样,您可以使用 netstat 命令找到相同的信息,如下所示:

# netstat -ant |grep -E ':80|:443'|grep ESTAB | awk '{print $5}' | cut -d":" -f1 | sort | uniq -c | sort -nr

总结:在教程中,您学习了如何在 Linux 中使用 ss 和 netstat 命令查找 Apache 并发连接。

点赞