【问题标题】:PHP application took longer time to respond [closed]PHP应用程序需要更长的时间来响应[关闭]
【发布时间】:2015-02-26 13:07:07
【问题描述】:

我用 PHP 开发了一个应用程序,该应用程序具有完整的用户管理系统以及动态表单创建功能、数据导入、导出功能等等。我正在使用 Mysql 作为数据库。当我对该应用程序进行测试时,它运行良好。现在我已经在客户端部署了这个应用程序,几乎 50-60 个用户正在运行这个应用程序,已经两个月了,现在他们面临着一些问题。他们说有些时候应用程序响应很晚,有些时候需要很长时间才能响应。例如要使用这个应用程序,用户需要登录到应用程序,现在一些时间登录功能非常好,用户可以很容易地登录,有时需要很长时间才能登录。我个人对此进行了调查,并面临同样的问题。现在我很困惑实际问题在哪里。

  1. 我的应用程序
  2. 网络速度
  3. 服务器
  4. SQL 中的大数据

我怎样才能知道确切的问题出在哪里。

【问题讨论】:

  • 我没有使用 SQL 服务器,我使用的是 mysql
  • 你检查过服务器的php和mysql日志吗?
  • @Partip Ghosh,你能指导我在哪里查看这些日志吗?
  • 取决于您使用的服务器类型。基本上应该有一些服务器人员可以帮助您获取这些日志。与今天的服务器空间或速度相比,100 个左右的用户似乎不算什么。

标签: php mysql performance


【解决方案1】:

您需要提供更多信息才能获得正确的答案。在提供这些数据时,您几乎肯定会解决问题...

在大多数数据库驱动的应用程序中,数据库是最先出现性能问题的地方,尤其是在数据扩展时。一个在数据库中只有几条记录就​​可以正常工作的系统在扩大规模时可能会陷入停顿......

所以当人们使用系统时,我要做的第一件事是look at the database processes,并寻找长时间运行的查询。优化这些查询,然后冲洗并重复。

还可能值得围绕您的数据库访问逻辑编写调试日志语句,这样您就可以查看历史性能统计信息 - 如果客户端告诉您系统昨天速度变慢,但今天运行良好,这很有用。

如果不是数据库,则需要查看 PHP 性能。您将需要一个分析器(尝试XDebug)并在您的 PHP 代码中寻找瓶颈。

如果它既不是数据库也不是您的 PHP 代码,则您的 Web 服务器软件(Apache 或您使用的任何软件)可能存在配置问题。这很难调试 - 您需要浏览配置文件并查找限制(例如“MaxConnections”)。

如果不是这些,可能是网络问题。这是非常罕见的——如果网络不能支持 Web 应用程序,文件共享、电子邮件和视频会议也会受到影响。询问您的客户是否是这种情况。要证明或反驳,请在您的网络服务器上放置一个大小合适的文件(一个 20MB 的 MP3 文件应该可以)并测试在应用程序运行缓慢时下载它需要多长时间。

【讨论】:

    【解决方案2】:
    1. 如果是您的应用程序的问题,请尝试优化代码。由于未提供代码,这一点变得无关紧要。
    2. 尝试 ping 服务器并检查响应时间。如果正常则网络没有问题。
    3. 检查服务器的硬件配置(应用程序和mysql服务器),如果服务器的硬件配置较低,应用程序无法运行,请升级。
    4. THIS IS MOST LIKELY TO BE THE SOLUTION:如果你的mysql数据量很大,试试索引数据库。例如,您在登录时遇到问题,因此请尝试在“用户”表中为用户名编制索引。

    坦率地说,问题中提供的数据不足以提出具体的解决方案。

    【讨论】:

      【解决方案3】:

      如果您的应用程序最初部署时的速度是正确的,我想问题出在数据库上。

      您的数据库是否已规范化?你有正确的索引吗?您可以尝试为 WHERE 子句中使用的所有列建立索引。

      但是,正如 Abhay Pai 所说,提供的数据不足以解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-17
        • 2020-09-26
        • 1970-01-01
        • 2011-06-11
        • 2021-05-19
        相关资源
        最近更新 更多