【问题标题】:MYSQL PHP Application performance with single databaseMYSQL PHP 应用程序性能与单个数据库
【发布时间】:2012-07-05 06:59:58
【问题描述】:

我正在设计一个主要基于 PHP 和 MySQL 数据库查询的“高”流量应用程序。

我正在设计数据库表,以便它们可以容纳 100'000 行,每个加载页面都会查询数据库以获取用户数据。

当有 1000 个用户连接时,我可能会遇到性能下降或数据库错误?

问是因为我找不到关于 mysql 数据库实际性能限制的规范。

谢谢

【问题讨论】:

  • 方法一。使用存储过程更快更安全。
  • 你应该使用缓存来减轻你的数据库服务器的压力,当然你应该分析你的代码,看看哪些查询对性能影响最大,并尽可能地优化它们.当你认为你已经完成时,你可能还想通过一些网站尝试压力测试,例如loadimpact.com
  • webserver 和databse 的不同服务器是个好主意。
  • @GabrielSantos 是的,这是一个更安全的架构。但是,如果他使用第三方主机,则很难设置 mysql 服务器以进行外部连接。
  • 为了一个好的答案,请更具体:什么是高负载,您正在运行哪些查询,您需要什么样的数据等等。甚至不要考虑性能,首先构造数据好。只需使用正常形式。最后,您始终可以提高性能,但从一开始就尽可能保持数据结构良好。在需要的时候花时间在性能上,例如当你发现它在测量后变得很重要时。

标签: php mysql database performance database-performance


【解决方案1】:

如果用户数据由于加载另一个页面而保持不变,您可以考虑将这些信息存储在会话中。 此外,您应该分析数据库/特定表中的读/写比率如何。 MyIsam 和 InnoDB 在锁定方面非常不同。许多连接会降低您的服务器速度,请尝试缓存连接。

看看http://php.net/manual/en/pdo.connections.php

【讨论】:

    【解决方案2】:

    如果设计错误,一个用户可能会杀死您的服务器。您需要进行性能测试,找到分析代码的瓶颈。对您的查询使用说明...

    【讨论】:

      【解决方案3】:

      设计良好的数据库可以处理数千万行,但设计不佳则不能。 不用担心性能,尽量设计好。

      【讨论】:

        【解决方案4】:

        很难说一个设计好不好,你应该在设置应用程序或网站之前做一些压力测试,以帮助你了解性能,我经常使用的工具是 mysqlslap(仅适用于 mysql)和 apache 的ab 命令。你可以谷歌他们以获取详细信息。

        【讨论】:

          猜你喜欢
          • 2023-03-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-15
          • 2022-11-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多