【问题标题】:concurrent users can a Apache + PHP solution support并发用户可以使用 Apache + PHP 解决方案支持
【发布时间】:2011-03-07 18:38:18
【问题描述】:

Apache + PHP 解决方案可以支持哪些并发用户?请不要被 Mysql 限制所困扰——我们使用没有 M 的 LAP,因为我们在后端存储了大约 2-8 PB。

【问题讨论】:

  • 我认为这个问题太宽泛,无法以目前的状态回答。
  • 如果没有更多信息,这是不可能的。用户请求之间的平均时间是多少?它是否对数据进行聚合?页面上有多少信息?做一个测试和推断。
  • 我们提出了一种服务分层架构,其中后端将是 REST SERVICES,由 .NET 和 Java 应用程序的组合提供服务 - PHP 解决方案将适合动态内容下的 App 服务器组件。 PHP 层将是使用 jQuery for Ajax 的 CakePHP,并将使用 XML RPC JSON API 对 java 运行时和 .NET 服务器进行服务调用。通过这种方式,我们将能够实现高性能的服务交付骨干。

标签: php mysql apache lamp


【解决方案1】:

为什么不试试看:

  • ab - Apache HTTP 服务器基准测试工具

想到了Siege

另见How to test a site rigorously的答案

【讨论】:

    【解决方案2】:

    并发用户如何

    好的,这是您的第一个问题 - HTTP 是无状态的,因此您的网络服务器可以支持无限数量的用户 - 只要他们实际上没有向网络服务器提交任何请求。真正的限制因素是与网络服务器的并发连接 数量。这将由以下因素决定:

    1) 用户提出请求的频率

    2) 服务请求所需的时间长度

    3) keepAlive 持续时间

    前两个因应用程序而异,而后一个是您可以控制的 - 使用 keepalives 会提高浏览器的性能,但会占用服务器的内存(因此减慢速度)。使用超过 2 秒的 keepalive 可能是浪费时间。

    有一些关于 Apache 性能调优的好书可以让您优化应用程序的网络服务器。

    当然,如果您有一个通用的数据底层,那么没有什么可以阻止您在存储之上添加更多的网络服务器(无限的水平可扩展性) - 所以最终限制系统容量/性能的是存储底层(直到您考虑调整代码和存储)。并且您还可以获得增强弹性的额外好处。

    当然,一台相当低端的 PC(2GHz CPU,2Gb 内存)应该能够轻松处理超过 500 个当前连接 - 特别是如果您正在运行以数据库为中心的应用程序,那么您还可以从添加服务器中获得更多好处,而不是而不是升级 CPU/RAM。

    HTH

    C.

    【讨论】:

    • 我们提出了一种服务分层架构,其中后端将是 REST SERVICES,由 .NET 和 Java 应用程序的组合提供服务 - PHP 解决方案将适合动态内容下的 App 服务器组件。 PHP 层将是使用 jQuery for Ajax 的 CakePHP,并将使用 XML RPC JSON API 对 java 运行时和 .NET 服务器进行服务调用。
    • 这样我们将能够实现高性能的服务交付骨干。我们的问题是– • Apache + PHP 解决方案如何支持任何并发用户?请不要被 Mysql 限制所困扰——我们使用没有 M 的 LAP,因为我们在后端存储了大约 2-8 PB。 • nginx + PHP 可以支持多少用户假设我们将使用标准的中型云托管机器-Linux 服务器大小(RAM / 磁盘)- 4096 MB / 160 GB。
    • 一个 Pb DB 并且您正在尝试使解决方案适合单个托管服务器!除了担心使用哪种网络服务器软件之外,您还有更大的问题。
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多