2012-09-24 182 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的第三方软件),但我更愿意与一家公司主办 –

相关问题