我目前正在使用python / django开发社交网络应用程序。最近我听说PHP在大型项目上的弱点,以及hippo-php如何帮助Facebook克服这个障碍。考虑到一个有很多利用率的python社交网络应用程序,你能不能告诉我一个类似的自定义工具是否可以帮助这个python应用程序?以什么方式?我的意思是需要在c ++中编写应用程序的哪个部分(或层)?我知道这是一个普遍的问题,但我认为有相关经验的人可以帮助我。
提前谢谢。
答案 0 :(得分:3)
在C ++中重写的部分是Python中速度太慢的部分。你需要弄清楚你的瓶颈在哪里,你可以通过负载测试或等到用户抱怨来做。
当然,即使用C ++重写也许没有用。您的瓶颈可能是数据库(转移到单独的,更快的数据库服务器或使用分片)或磁盘,内存或任何东西。找到瓶颈,找出如何消除瓶颈,实施。在所有这些阶段之间进行“测试”。一般建议。
通常没有灵丹妙药,我想Facebook在尝试任何事情之前都做了很多测试和分析他们的瓶颈。
答案 1 :(得分:1)
您可以将PostgreSQL视为Oracle,因此我从互联网上找到的内容(因为我也是初学者)这里是从较小项目到最大项目的DB的顺序:
答案 2 :(得分:1)
不要试图过早扩展!当然,你可以尝试做好准备但是大多数时候你不能真正知道你需要扩展的地方,因此在你认识它之前会花费大量的时间和金钱。
启动你的webapp,看看它是怎么回事(在这里同意Spacedman)。
虽然根据我的经验,您的网络应用程序的语言不太可能成为瓶颈。大部分时间它都是从数据库开始的。很多时候它只是一个错误的代码行(它只是一个for循环)而且很多时候它就像忘记使用某些东西。像memcached或任务管理。如上所述,找出它的位置。在大多数情况下,最好在指责语言速度之前检查其他内容(因为它很可能不是问题!)。