2012-09-24 95 views
0
feed = feedparser.parse("http://someyoutubeurl") 
video_data = feed.entries[0] 
# Adding the data to a dict, etc... 

在我的python命令行上鍵入的代碼行立即運行並結束。但是當我在我的django web服務器上部署feedparser時,這個過程實際上需要10秒鐘才能完成。有些事情一定是非常錯誤的。與python的feedparser速度混淆,它在命令行速度非常快,但在部署時速度很慢

我甚至使用相同的確切的YouTube視頻測試,速度差異仍然存在!

你們有沒有想法?由於

+1

您的網絡服務器是否有可用的sgmllib模塊?如果不是(這肯定會是奇怪的),feedparser會回落到自己的純Python實現中,這比較慢。 –

+0

DNS可能存在問題。 – Matthias

回答

1

我不知道這算作一個答案,但一般有多個原因,我看到:

  • 你的web服務器的硬件可能不會像桌面一樣強大,因此下載和簡單解析需要更長時間如果可能的話,你可以在你的webserver python shell中嘗試相同的代碼行並測量性能。下載主要取決於您的連接速度,主要解析您的CPU和部分RAM(取決於Feed的大小)。

  • 如果在運行中的Django這行代碼會出現,因爲每個動作都必須經過Django框架,當你運行,如果從普通的Python外殼,簡單的比一個稍微大一點的延遲。

+0

我剛剛在網絡服務器上運行同一行代碼,它非常非常慢!我正在使用webfaction,不知道是否有sgmllib,但我與其他30人一樣共享服務器,以便可能影響速度 –

+0

是的,webfaction是有點慢,所以我聽說。儘管我從未使用它。如果你的網站只是一個博客或簡單而小的東西,它可能是一個很好的主機。 –

+0

呃,我想我需要更快的東西,你有什麼建議嗎?我有一臺IIS7的windows server 2008機器可以在家裏使用(與django一起使用一些名爲helicon zoo的第三方軟件),但我更願意與一家公司主辦 –

相關問題