深入理解Storm:资源争用与内部机制剖析
1. 资源争用概述
在使用大量 I/O 的拓扑结构中,一个健康的系统不应花费过多时间等待资源可用。通常,当 I/O 等待时间超过 10.00% 时,系统性能可能会开始下降。区分套接字/网络和磁盘 I/O 争用看似困难,但凭借直觉和一些简单测试,往往能找到问题所在。
1.1 区分 I/O 争用类型
若已知特定工作节点上运行的拓扑结构,且发现存在 I/O 等待问题,可通过以下简单测试判断争用类型:先尝试确定是否存在套接字/网络 I/O 争用,若不存在,则假定为磁盘 I/O 争用。
1.2 网络/套接字 I/O 争用
1.2.1 争用原因
当拓扑结构通过网络与外部服务交互时,网络/套接字 I/O 争用可能成为集群问题。常见原因是分配用于打开套接字的端口已全部被使用。大多数 Linux 系统默认每个进程最多可打开 1024 个文件/套接字,在 I/O 密集型拓扑中,很容易快速达到此限制。
1.2.2 确定系统限制
可通过检查 /proc 文件系统来查看进程限制。步骤如下:
1. 使用 ps 和 grep 命令查找进程 ID(PID):
-bash-3.2$ ps aux | grep MY-TOPOLOGY-NAME
stormuser 12345 18.2 …
- 根据 PI
超级会员免费看
订阅专栏 解锁全文
801

被折叠的 条评论
为什么被折叠?



