如何解决为什么Lookup组件会延迟数据流,如何找出原因?
| 我有一个数据流,可将行从数据库迁移到数据库的新版本。我们正在进行的更改之一是用整数标识符替换用户名字符串。 我正在使用一个Lookup组件来将Manager和Trader名称替换为其数字ID,但是其中一个转换的执行速度似乎比另一个转换要慢。在下面的屏幕截图中,它显示了将Lookup Trader
分量与Lookup Manager
分量进行比较的距离。
如您所见,大约22m行已传递到Lookup Manager
组件,并且仅“落后” 100k行,但是传递到Lookup Trader
组件的数据却落后了8m行。
查找包含相同的查询,以获取所有交易者和经理的用户名和ID(它们都保存在同一表中),并且都设置为使用Full Cache
。他们正在查找相同的数据类型(字符串),并且都向“ 5”类型的流添加了一个新字段。
我不明白为什么当一个组件基本相同时,一个组件的性能要比另一个组件快得多。之所以显示两个组件上的警告图标,是因为即使连接了错误输出,我在调试时也将错误操作设置为Fail Component
。稍后,我将错误重定向到平面文件。
我的问题有两个。为什么一个人的表现比另一个人慢得多,更重要的是,我如何找出原因?
解决方法
在Damien_The_Unbeliever对数据流后面的组件发表评论之后,我通过提取两个查找组件并将它们的输出a定向到“垃圾箱目标”进行了测试。我还颠倒了组件的顺序,以查看一个组件的运行速度是否比另一个组件快。
一切运行良好,直到两个查找组件都暂停,并且输入向前竞争了将近5m行,但是总体而言,数据处理速度很快,并且“ 0”组件的运行速度并不比“ 1”慢。
因此,似乎后面的组件正在造成流量瓶颈,因此使“ 0”成为罪魁祸首。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。