【问题标题】:Node vs nginx + php-fpm for database driven websites用于数据库驱动网站的 Node vs nginx + php-fpm
【发布时间】:2013-03-08 02:48:26
【问题描述】:

节点是数据库驱动网站的好选择吗?我了解实时场景和应用程序中的性能优势。但与 nginx + php-fpm 相比,它是否为经典的、数据库驱动的 CMS 网站提供相同的性能优势。

【问题讨论】:

  • 这里不适合提出这样的问题。尝试测试这两个平台,看看哪个最适合您
  • 我尝试在我正在进行的项目中同时使用 Node.js 和 Nginx + PHP-FPM。 Node 对我来说是一个很高的学习曲线,因为我真的习惯了 PHP。我发现 Nginx + PHP-FPM 太快了,真的,在这一点上,你更喜欢哪种语言。
  • @jValdron:我也有同感。我玩过node,但我仍然没有足够的知识来编写与我在PHP中所拥有的相比的任何东西,所以我真的无法进行任何实际的测试。如果这里不适合提出此类问题,我深表歉意。我不知道在哪里可以找到在现实生活项目中同时尝试 PHP 和 node 的认真程序员。感谢您分享您的经验。
  • @ssam 我想你得到了答案。如果您没有足够的信心使用 node 编写可靠的应用程序,那么请坚持您最了解的内容。最终一切都可以扩展,无论是 apache + php 还是 nginx + php 或 node,只要你有一个设计良好且可靠的应用程序。
  • @ssam 并记住使用正确的工具来完成这项工作,node 与其他人一样擅长数据库驱动的网站,但最适合实时应用程序并促进服务器和客户端之间的代码重用跨度>

标签: node.js content-management-system nginx php


【解决方案1】:

Node 是数据库驱动网站的不错选择,因为您有以非阻塞方式编写的数据库绑定。 Most used database 服务器现在具有以非阻塞方式编写的 nodejs 绑定。

例如,PHP 和 apache。它为每个请求创建一个线程。与数据库线程进行 IO 时处于阻塞状态。这意味着在 IO 完成(40,000,000 个周期)之前,http 服务器无法对该请求执行任何操作。这是做 IO 的错误方式。而在nodeJS中,如果db binding是非阻塞写的,binding就是在线程池做IO,node事件循环就是监听事件。

IO 延迟(以 CPU 周期为单位)

L1:

L2:

RAM:~300 个周期

光盘:40,000,000 次循环

网络:240,000,000 个周期

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2019-01-20
    相关资源
    最近更新 更多