Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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
Python脚本在远程目录中速度非常慢_Python_Import_Sshfs_Fedora 25_Remote Host - Fatal编程技术网

Python脚本在远程目录中速度非常慢

Python脚本在远程目录中速度非常慢,python,import,sshfs,fedora-25,remote-host,Python,Import,Sshfs,Fedora 25,Remote Host,在SSHFS挂载的远程目录中运行有点复杂的python程序有困难。在远程目录中执行导入时需要几秒钟,在本地目录中执行导入只需要几秒钟。程序不应单独访问远程目录中的任何内容,尤其是在导入阶段 默认情况下,存在当前远程目录I sys.path,但当我在其他导入之前删除它时,速度不会改变。我向python-vv确认,在查找模块的过程中,没有访问这个远程目录。尽管如此,在导入阶段,我仍然可以通过外部网络监视器看到一些来自网络的稳定数据流 此外,我无法真正确定它在消耗大部分时间时在做什么。根据我的简单打印

在SSHFS挂载的远程目录中运行有点复杂的python程序有困难。在远程目录中执行导入时需要几秒钟,在本地目录中执行导入只需要几秒钟。程序不应单独访问远程目录中的任何内容,尤其是在导入阶段

默认情况下,存在当前远程目录I sys.path,但当我在其他导入之前删除它时,速度不会改变。我向python-vv确认,在查找模块的过程中,没有访问这个远程目录。尽管如此,在导入阶段,我仍然可以通过外部网络监视器看到一些来自网络的稳定数据流

此外,我无法真正确定它在消耗大部分时间时在做什么。根据我的简单打印输出,它似乎发生在一次导入完成之后,在下一次导入开始之前

我正在运行Fedora 25 Linux

在我的例子中,它是Cern根库导入。导入时,无论我做什么,它们都会查看当前目录。因此,解决办法是

存储当前目录 在导入之前,将cd复制到一些真正的本地目录,如/或/home 导入后返回存储目录
是的,sshfs很慢。如果您想确切地知道哪些操作系统级别的操作占用了您的时间,我建议您使用sysdig或类似的高性能syscall跟踪工具。strace还将收集有关正在进行的系统调用的信息,但它的开销太大,仅使用strace会对性能造成很大的影响,因此它对影响这个文件系统的内容是好的,但对我在性能方面的实际痛点又不是好的?。虽然由于您尚未指定您的操作系统,我们实际上不知道sysdig是否适用于该操作系统……但是,在许多sysdig不可用的地方,您已经有了引人注目的竞争对手,如dtrace,这也将填补这一空缺。谢谢,我将尝试使用该工具进行查看。一般来说,当我在同一个目录中使用C程序执行一些非常苛刻的读/写操作时,sshfs似乎与NFS等一样快。虽然只是初始化python脚本,但速度非常慢。这让我想知道。。。