我正在对我的一台服务器进行压力测试,它使用恒定的新网络连接流击中它,tcp_fin_timeout设置为 60,因此如果我发送恒定流,例如每秒 100 个请求,我希望看到滚动平均值6000 (60 * 100) 个连接处于一个TIME_WAIT状态,这种情况正在发生,但是查看netstat(使用 -o)查看计时器,我看到如下连接:
TIME_WAIT timewait (0.00/0/0)
Run Code Online (Sandbox Code Playgroud)
他们的超时已过期但连接仍然存在,然后我最终用完了连接。有谁知道为什么这些连接没有得到清理?如果我停止创建新连接,它们最终会消失,但是当我不断创建新连接时,它们不会,似乎内核没有机会清理它们?我是否需要设置一些其他配置选项以在连接过期后立即删除连接?
服务器正在运行 Ubuntu,而我的 Web 服务器是 nginx。它还有带有连接跟踪的 iptables,不确定这是否会导致这些TIME_WAIT连接继续存在。
谢谢马克。
这似乎是一个非常简单的问题。但我在网上看不到任何关于它的信息。该命令来自RHEL 文档本身,所以我希望它可以工作......但它失败了。任何见解?
命令:
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p udp --dport 25150 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
输出:
iptables: Invalid argument. Run `dmesg' for more information.
Run Code Online (Sandbox Code Playgroud)
dmesg 日志:
[ 1719.334534] x_tables: ip_tables: tcp match: only valid for protocol 6
Run Code Online (Sandbox Code Playgroud) 有许多文件系统可供 Linux 服务器管理员选择。此外,根据您的需要找出合适的布局和最佳文件系统并不总是一件容易的事。
您能否建议一些为 Linux 服务器选择“最佳”文件系统的指南?我知道这是一个普遍的问题。让我们更具体一点。我会这样说。
1- 我有一个缓存 Web 代理服务器。代理通常需要存储许多小对象,也有一些中大型对象。我认为 Web 服务器的情况会类似。
2- 我有一个电子邮件服务器。它需要保存用户的消息。
3- 我有一个数据库服务器。
所有这三个服务器都需要非常多的 IO 访问(读取和写入)。
对于其他类型的服务器,我认为不是那么关键。例如,基于 Linux 的防火墙不需要像代理或 Web 服务器那样的高清访问。它的大部分处理是在内存中完成的。
我认为最好的答案是为每个服务器建议合适的文件系统(最好有理由)。让我们将性能作为我们提出建议的依据。
我不知道在哪里问这个问题,但我会先在这里问。
我有一台 Synology DS211 服务器,我正在尝试运行 cron 作业,但它不起作用。
这是我在 crontab 文件中得到的代码
10 19 4 * * root /opt/bin/openssh-scp user@remote-server:/home/user/Backup/backup.tar.gz /volume1/Backup/
Run Code Online (Sandbox Code Playgroud)
但是它没有运行。
我可以/opt/bin/openssh-scp直接运行命令,但不能使用 cron
有什么我做错了吗?
当前的 Linux 内核(例如 2.6.36)使用延迟确认 (delack)。
定义 TCP_DELACK_MIN ((无符号)(HZ/25))
因此,对于使用 HZ 值为 1000 的内核,ACK 应至少延迟 40 毫秒。
然而,RFC 2581 说 TCP 实现应该确认每一个完整大小的段,而不会进一步延迟。
有没有人知道 Linux 内核是否遵循“应该”,或者 TCP_DELACK_MIN 值是否意味着即使在接收到完整大小的段之后,ACK 也会继续延迟直到 40 毫秒过去?
这是我的 MPM 约束:
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 10
MaxClients 10
MaxRequestsPerChild 2000
</IfModule>
Run Code Online (Sandbox Code Playgroud)
然而尽管如此,我目前有 20 多个 apache 进程在运行,在过去一两个小时内,有多达 40-50 个。MaxClient 和 MaxSpareServers 不应该控制进程数(即大约 10 个)吗?
有什么我想念的吗?
我正在寻找一种优雅地重新加载 haproxy 的解决方案。我有一个正在运行的 nginx 服务器,它将请求传递给 Haproxy,有时我会重新加载 Haproxy 配置。但我观察到在重新加载时所有现有连接都被切断,haproxy 后端队列显示 0 个请求(从 haproxy 的套接字统计数据中获取)。
我正在使用有关该问题的几篇博客文章和 haproxy 文档中提到的方法:
重新加载:
haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -sf (</var/run/haproxy.pid)
Run Code Online (Sandbox Code Playgroud)
开始 :
haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
Run Code Online (Sandbox Code Playgroud)
如果有人可以提出任何解决方案,我们将不胜感激。下面是我的 haproxy 配置文件
global
maxconn 64000
ulimit-n 200000
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
spread-checks 5
stats socket /etc/haproxy/stats
defaults
log global
mode http
balance roundrobin
maxconn 64000
option abortonclose
option httpclose
retries 3
option redispatch
timeout client 30000
timeout connect 30000
timeout server 30000
stats …Run Code Online (Sandbox Code Playgroud) 每当我在 ASA 中编写一些命令时,它都会隐藏完整的命令并显示命令的位。有什么方法可以增加我在 ASA 中编写的命令的长度,以便它不会隐藏在终端会话中编写的命令?我试图用谷歌搜索它但无法找到解决方案
(ASA)#sho run object-group id $
Run Code Online (Sandbox Code Playgroud) 我无法使用 filezilla 连接到服务器,但使用 winscp 可以连接。filezilla和winscp都使用端口22进行连接。为什么filezilla无法连接到服务器?
我在 logrotate.d 下有一个文件,我不想在主 logrotate 运行时运行该文件。我为此创建了一个单独的工作/etc/crontab
45 23 * * * root mv /var/log/RemoteSystems/*/*.log /var/log/Archiv/ && logrotate /etc/logrotate.d/test
Run Code Online (Sandbox Code Playgroud)
该作业会将文件从一个目录移动到另一个目录,然后应用 logrotate。我希望这项工作与/etc/crontab. 问题是,因为“测试”在 下/etc/logrotate.d/,它将使用主 logrotate 再次运行。我可以在 logrotate.conf 中插入任何可以排除“测试”运行的命令吗?我知道如果我有“测试”文件/etc/logrotate.d,这不会发生,但我想让“测试”保持在同一路径。
linux ×5
cron ×2
performance ×2
tcp ×2
apache-2.2 ×1
cisco ×1
cisco-asa ×1
cobbler ×1
exclude ×1
filesystems ×1
ftp ×1
haproxy ×1
iptables ×1
linux-kernel ×1
logrotate ×1
netstat ×1
networking ×1
rhel7 ×1
satellite ×1
synology ×1
winscp ×1