Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance apachecamel-SFTP延迟_Performance_Ftp_Apache Camel_Sftp_Latency - Fatal编程技术网

Performance apachecamel-SFTP延迟

Performance apachecamel-SFTP延迟,performance,ftp,apache-camel,sftp,latency,Performance,Ftp,Apache Camel,Sftp,Latency,我使用ApacheCamel与几个SFTP端点交互;对于每一个,我执行以下管道: 检索现有文件的列表 根据给定的一组规则验证这些文件 下载远程文件,以防验证成功 一切都像一个符咒(对于大约一百个不同的端点),用于检索文件列表的URI是这样的:sftp://${HOST}:${PORT}/${DIR}?username=${USER}&download=false&recursive=true&disconnect=true&sendEmptyMessageWhenIdle=true 问题在于

我使用ApacheCamel与几个SFTP端点交互;对于每一个,我执行以下管道:

  • 检索现有文件的列表
  • 根据给定的一组规则验证这些文件
  • 下载远程文件,以防验证成功
一切都像一个符咒(对于大约一百个不同的端点),用于检索文件列表的URI是这样的:sftp://${HOST}:${PORT}/${DIR}?username=${USER}&download=false&recursive=true&disconnect=true&sendEmptyMessageWhenIdle=true

问题在于,对于其中一个SFTP端点,SFTP Camel组件的行为如下:

  • 立即返回0个远程文件
  • 列出远程内容需要几分钟的时间(由大约250个文件组成,每个文件大小从2KB到2MB)
此外,在后一种情况下,仅下载10KB数据大约需要30秒

因为这只发生在这个特定的SFTP上,所以我认为它并不直接依赖于驼峰,驼峰适用于所有其他端点

因此,我的问题是:

  • 什么会影响这种连接,导致不合理的延迟(没有网络问题,也没有要获取的巨大数据)
  • 假设它取决于远程SFTP端点,既然SFTP中存在大量文件,为什么前面提到的Camel URI应该立即返回0个文件

感谢您的反馈。

假设您的版本的Camel SFTP组件中没有bug


什么会影响这种连接,导致不合理的延迟 (没有网络问题,也没有需要获取的巨大数据)

考虑到您的应用程序可以立即返回0个远程文件,您的应用程序和目标服务器之间存在的问题源相对较低。对于服务器端,它可以是

  • 要遍历的文件夹太多
  • 服务器在每次调用时的动作都很慢
  • 服务器端的其他问题

对于该情况(过多的文件夹遍历),考虑忽略无用和其他配置(例如)

的文件夹。 假设它取决于远程SFTP端点,为什么 前面提到的Camel URI立即返回0个文件,因为有很多 SFTP中是否存在文件

服务器端可能使用多个SFTP服务器节点,并且由于文件系统同步失败,一些节点为空当客户端被服务器端的网关重定向到任何空的SFTP服务器节点时,服务器节点返回0个远程文件作为响应并按原样报告客户端