Die*_*ego 6 mysql windows-server-2003 php website performance
我必须管理一个不是我开发的网站。它在 PHP 中使用位于 Web 服务器中的 mysql 数据库。该网站有时(当访问者增加太多时)停止响应,或响应太慢。
我用 PHP 开发了一些网站,但从来没有照顾过管理,所以真的不知道从哪里开始。服务器(硬盘)似乎很好,当网络停止响应时,CPU 的使用率约为 55%,并且有大量内存。
我不是要求某人解决这个问题。我真的很希望有人能给我一些关于在哪里可以找到日志以及我应该如何阅读和解释它们的提示。所以,这样我就可以知道它是净流量、数据库(哪些查询)或什么。
谢谢!
更新:忘了说:它是 Windows Server 2003。
注意:我已经使用 Jet Profiler 记录了大约一天。我并不真正理解它提供的所有信息,但有一个查询被标记为非常慢。这是有道理的,因为它是一个带有 where 子句的选择,其中有三个类似的条件。最初我没有在我的问题中包含这个,因为当我从 MySQL 查询浏览器运行查询时,它不会花很长时间。不到 0.01 秒。
通常是数据库拖慢了站点的速度。您很可能有一些查询编写得不好/未建立索引,这就是导致速度减慢的原因。在MySQL中,您可以通过打开慢查询日志来找到响应时间过长的查询。
通常这涉及以下步骤: 1. 在 MySQL 日志文件夹中创建一个名为 Slowqueries.log 的文件,通常为/var/log/mysql/
.log。将其权限更改为用户 mysql 使用chmod
(假设您使用的是 Linux)。2. 以 root 身份登录我的 sql 并发出以下查询:
set GLOBAL slow_query_log_file='/var/log/mysql/slowqueries.log'; -- sets the log file
SET GLOBAL slow_query_log=1; -- turns on slow query logging
一旦确定执行时间过长的查询,您可以使用EXPLAIN或EXPLAIN EXTENDED进一步分析它们并了解如何优化它们,通常是通过添加索引/改进联接。
归档时间: |
|
查看次数: |
256 次 |
最近记录: |