【发布时间】:2011-01-06 19:41:40
【问题描述】:
如果我使用 django 开发一个聊天应用程序,它会有一些性能问题吗? 我可以在 django 中进行服务器推送吗? 我也想进行 PM 和房间讨论。
【问题讨论】:
标签: python django performance chat private-messaging
如果我使用 django 开发一个聊天应用程序,它会有一些性能问题吗? 我可以在 django 中进行服务器推送吗? 我也想进行 PM 和房间讨论。
【问题讨论】:
标签: python django performance chat private-messaging
grono.net 有聊天和 PM(虽然没有房间),并且建立在 django 上。性能相当不错,所以我相信你应该能够达到同样的性能。这取决于您期望的连接数量。 grono.net 相当大,它使用一些缓存和服务器分发来表现良好。但这一切在 Django 上都是可行的。
【讨论】:
我认为对于聊天应用程序,您可以使用其他技术,例如 AMQP(RabbitMQ 等)、Comet 等。 但是,对于开发用户配置文件、PM 和其他您可以使用 Django。
不要忘记性能仍然取决于服务器配置(Web 服务器软件、缓存、数据库)
【讨论】:
基本上 Django 并不是最好的方法。
但是,如果您真的坚持使用它并且不想使用太多解决方案或/并且想要保持简单,您可以尝试使用它:
http://popcnt.org/2008/01/django-evserver-asynchronous-server-for.html
Whih 是异步 django 服务器。
【讨论】:
使用tornado怎么样?我尝试了 Tornado 的演示聊天应用程序。 而且 Tornado 声称比 django 有更好的性能。
让我知道你的想法。
【讨论】:
Twisted 也值得一试。我认为您描述了他们的教程场景。
【讨论】:
我在 Pypi 和 Github 上发布了一个 Django 应用程序,它提供了一个多用户网络聊天。 它基于 Gevent:在多线程环境中运行良好,但在运行超过 1 个 worker 的 gunicorn 等预先分叉的环境中效果不佳。 我只是在写文档。回购是:https://github.com/qubird/django-chatrooms
【讨论】: