2017-03-03 35 views
0

我無法在遠程目錄中運行我的一點點複雜python程序,由SSHFS裝載。在遠程目錄中執行導入時需要幾秒鐘的時間,而在本地目錄中則需要幾分之一秒的時間。程序不應該訪問遠程目錄中的任何內容,特別是在導入階段。遠程目錄中的Python腳本非常慢

默認情況下,當前(遠程)目錄是我的sys.path,但是當我在(其他)導入之前刪除它時,速度不會改變。我用python -vv確認這個遠程目錄在尋找模塊的過程中沒有被訪問。儘管如此,在導入階段,我仍可以通過外部網絡監視器看到網絡中某些數據的穩定流動。

此外,我無法真正確定它在消耗大部分時間時的表現。似乎一個導入之後發生的,根據我的簡單的打印輸出,並且下一個導入開始前...

我運行Fedora 25的Linux

+1

是的,sshfs很慢。如果您想知道哪些操作系統級別的操作正在耗盡您的時間,我建議使用sysdig或類似的高性能系統跟蹤工具。 strace也會收集關於系統調用的信息,但是它有很多開銷,只是使用strace會帶來很大的性能損失,所以對於「這個文件系統有什麼影響?」是很好的,但對於「我在表現方面的實際痛點是什麼?「。 (雖然因爲你沒有指定你的操作系統,我們實際上並不知道它是一個可用的sysdig ...) –

+0

(...但是,在很多sysdig *不是的地方*可用的,你有像dtrace那樣引人注目的競爭對手,這也將填補利基)。 –

+0

謝謝,我會試着用這個工具來看看。一般來說,對於我來說,當我在同一個目錄下用C程序進行一些非常苛刻的讀/寫操作時,sshfs的速度與NFS等一樣快。雖然只是初始化python腳本是死緩。這讓我想知道... –

回答

-1

對我來說,它是在歐洲核子研究中心ROOT庫導入。導入時,無論我做什麼,它們都會查看當前目錄。所以,解決的辦法是

  1. 店當前目錄
  2. cd到一些真正的本地目錄,如「/」「/家」進口
  3. 回來存儲目錄前後進口