网站关闭,无法理解网络服务器进程日志?

时间:2015-04-24 12:05:27

标签: php mysql sql-server linux logging

任何人都可以帮助解释以下日志:

MariaDB [(none)]> show full processlist;
+--------+----------------+-----------------+---------------------+---------+-----
|      3 | user-rw        | localhost       | bets-stage          | Sleep   |   51 |                      | NULL                                                                                                  |    0.000 |
|     11 | user-rw        | localhost       | bets-stage          | Sleep   |   39 |                      | NULL                                                                                      |    0.000 |
|     13 | db1029865-news | localhost       | db1029865-sportnews | Query   |   30 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                                                                                                 |    0.000 |
|     17 | db1029865-news | localhost       | db1029865-sportnews | Query   |   20 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                                                                                                                                                                                                                                                         |    0.000 |
|     34 | db1029865-news | localhost       | db1029865-sportnews | Query   |    3 | Sorting result       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc   |    0.000 |
|     37 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |   31 |                      | NULL |    0.000 |
|     39 | user-rw        | localhost       | bets-stage          | Sleep   |   77 |                      | NULL                                                                            |    0.000 |
|     40 | db1029865-news | localhost       | db1029865-sportnews | Query   |   16 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                     |    0.000 |
|     41 | user-rw        | localhost       | bets-stage          | Sleep   |   43 |                      | NULL                                                                                     |    0.000 |
|     49 | db1029865-news | localhost       | db1029865-sportnews | Query   |   24 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                     |    0.000 |
|     52 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |   36 |                      | NULL                                                                                     |    0.000 |
|     53 | db1029865-news | localhost       | db1029865-sportnews | Query   |   26 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                     |    0.000 |
|     54 | db1029865-news | localhost       | db1029865-sportnews | Query   |    1 | Copying to tmp table | SELECT `post`.*, `post`.`team1_seourl` AS `team1seourl`, `post`.`team1_seourl` AS `teamseourl`, `post`.`team2_seourl` AS `team2seourl`, IF(`temp_tn1uid`.`value` > 0, `post`.`team1_uid`, NULL) AS `tn1uid`, IF(`temp_tn2uid`.`value` > 0, `post`.`team2_uid`, NULL) AS `tn2uid` FROM (SELECT `post`.*, `post_j`.`title`, `post_j`.`teaser` FROM (SELECT `post`.* FROM `sportnews_cache_post_team` AS `post` FORCE INDEX(`sort_index`) JOIN (SELECT `cache_uid` FROM `sportnews_cache_post_team` AS `post` WHERE (`post`.`team1_uid` = 4894 OR `post`.`team2_uid` = 4894) GROUP BY `post`.`uid` ORDER BY `post`.`cache_uid` LIMIT 40 OFFSET 0) AS `post_j` ON `post`.`cache_uid` = `post_j`.`cache_uid`) AS `post` JOIN `sportnews_post` AS `post_j` ON `post_j`.`uid` = `post`.`uid`) AS `post` LEFT JOIN (SELECT `uid`, COUNT(*) AS `value` FROM `sportnews_cache_post_team` AS `post` FORCE INDEX(`sort_index`) WHERE `post`.`team1_uid` = 4894 GROUP BY `post`.`uid`) AS `temp_tn1uid` ON `temp_tn1uid`.`uid` = `post`.`uid` LEFT JOIN (SELECT `uid`, COUNT(*) AS `value` FROM `sportnews_cache_post_team` AS `post` FORCE INDEX(`sort_index`) WHERE `post`.`team2_uid` = 4894 GROUP BY `post`.`uid`) AS `temp_tn2uid` ON `temp_tn2uid`.`uid` = `post`.`uid` |    0.000 |
|     57 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |   22 |                      | NULL                                                                                     |    0.000 |
|     75 | user-rw        | localhost       | bets-stage          | Sleep   |   32 |                      | NULL                                                                                     |    0.000 |
|     77 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |    6 |                      | NULL                                                                                     |    0.000 |
|     78 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |   15 |                      | NULL                                                                                     |    0.000 |
|     79 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |    3 |                      | NULL                                                                                     |    0.000 |
|     88 | db1029865-news | localhost       | db1029865-sportnews | Query   |   18 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                     |    0.000 |
|     99 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |   39 |                      | NULL                                                                                     |    0.000 |
|    100 | db1029865-news | localhost       | db1029865-sportnews | Query   |    1 | Sorting result       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                                                                                                   |    0.000 |
|    110 | db1029865-news | localhost       | db1029865-sportnews | Query   |   32 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                                                                                                   |    0.000 |
|    117 | db1029865-news | localhost       | db1029865-sportnews | Sleep   |    9 |                      | NULL                                                                                                                                                                   |    0.000 |
|    119 | user-rw        | localhost       | bets-stage          | Sleep   |   70 |                      | NULL                                                                                                                                                                   |    0.000 |
|    137 | user-rw        | localhost       | bets-stage          | Sleep   |   34 |                      | NULL                                                                                     |    0.000 |
|    138 | db1029865-news | localhost       | db1029865-sportnews | Query   |   28 | Sending data         | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                     |    0.000 |
|    160 | user-rw        | localhost       | bets-stage          | Sleep   |   40 |                      | NULL                                                                                     |    0.000 |
|    162 | user-rw        | localhost       | bets-stage          | Sleep   |   27 |                      | NULL                                                                                     |    0.000 |
|    189 | user-rw        | localhost       | bets-stage          | Sleep   |   19 |                      | NULL       |    0.000 |
|    208 | user-rw        | localhost       | bets-stage          | Sleep   |   56 |                      | NULL       |    0.000 |
|    218 | db1029865-news | localhost       | db1029865-sportnews | Query   |   22 | Writing to net       | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc                                                                                                                                                                   |    0.000 |
|    219 | user-rw        | localhost       | bets-stage          | Sleep   |    3 |                      | NULL                                                                                                                                                                   |    0.000 |
|    274 | user-rw        | localhost       | bets-stage          | Sleep   |   20 |                      | NULL                                                                                                                                                                   |    0.000 |
|    301 | user-rw        | localhost       | bets-stage          | Sleep   |   30 |                      | NULL                                                                                     |    0.000 |
|    302 | user-rw        | localhost       | bets-stage          | Sleep   |    2 |                      | NULL                                                                                                                                                                   |    0.000 |
|    356 | user-rw        | localhost       | bets-stage          | Sleep   |   36 |                      | NULL                                                                                                                                                                   |    0.000 |
|    435 | user-rw        | localhost       | bets-stage          | Sleep   |   55 |                      | NULL       |    0.000 |
|    511 | user-rw        | localhost       | bets-stage          | Sleep   |   59 |                      | NULL                                                                                                                                                                   |    0.000 |
|   2007 | user-rw        | localhost       | bets-stage          | Sleep   |   61 |                      | NULL                                                                                                                                                                   |    0.000 |
| 606299 | db1029865-news | localhost:34857 | db1029865-sportnews | Sleep   |   60 |                      | NULL                                                                                                                                                                   |    0.000 |
| 606300 | db1029865-news | localhost:34860 | db1029865-sportnews | Sleep   |   60 |                      | NULL                                                                                                                                                                   |    0.000 |
| 606438 | db1029865-news | localhost:34940 | db1029865-sportnews | Sleep   |   91 |                      | NULL                                                                                     |    0.000 |
| 606439 | db1029865-news | localhost:34941 | db1029865-sportnews | Sleep   |    3 |                      | NULL                                                                                     |    0.000 |
| 610631 | user-rw        | localhost:35813 | sportnews-stage     | Sleep   |  177 |                      | NULL                                                                                                                                                                   |    0.000 |
| 611528 | db1029865-news | localhost:36298 | db1029865-sportnews | Query   |   10 | Writing to net       | SELECT /*!40001 SQL_NO_CACHE */ * FROM `sportnews_log`                                                                                                                                                                                               |    0.000 |
| 612224 | root           | localhost       | NULL                | Query   |    0 | NULL                 | show full processlist                                                                                                                                                  |    0.000 |
+--------+----------------+-----------------+---------------------+---------+------+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
47 rows in set (0.00 sec)
|     13 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   24 | Writing to net   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     17 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   21 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     34 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   10 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     37 | db1029865-news       | localhost       | db1029865-sportnews | Query   |    6 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     39 | user-rw              | localhost       | bets-stage          | Sleep   |   38 |                  | NULL                                                                                                                                                             |    0.000 |
|     40 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   21 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     41 | user-rw              | localhost       | bets-stage          | Sleep   |  139 |                  | NULL                                                                                                                                                             |    0.000 |
|     49 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   25 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     52 | db1029865-news       | localhost       | db1029865-sportnews | Query   |    8 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     53 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   20 | Writing to net   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     54 | db1029865-news       | localhost       | db1029865-sportnews | Query   |    7 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     57 | db1029865-news       | localhost       | db1029865-sportnews | Sleep   |   48 |                  | NULL                                                                                                                                                             |    0.000 |
|     75 | user-rw              | localhost       | bets-stage          | Sleep   |   33 |                  | NULL                                                                                                                                                             |    0.000 |
|     77 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   28 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     78 | db1029865-news       | localhost       | db1029865-sportnews | Sleep   |   29 |                  | NULL                                                                                                                                                             |    0.000 |
|     79 | db1029865-news       | localhost       | db1029865-sportnews | Sleep   |    6 |                  | NULL                                                                                                                                                             |    0.000 |
|     88 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   14 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|     99 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   10 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|    100 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   13 | Sorting result   | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|    110 | db1029865-news       | localhost       | db1029865-sportnews | Sleep   |    4 |                  | NULL                                                                                                                                                             |    0.000 |
|    117 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   34 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|    119 | user-rw              | localhost       | bets-stage          | Sleep   |   10 |                  | NULL                                                                                                                                                             |    0.000 |
|    137 | user-rw              | localhost       | bets-stage          | Sleep   |   24 |                  | NULL                                                                                                                                                             |    0.000 |
|    138 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   31 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc |    0.000 |
|    160 | user-rw              | localhost       | bets-stage          | Sleep   |  260 |                  | NULL                                                                                                                                                             |    0.000 |
|    162 | user-rw              | localhost       | bets-stage          | Sleep   |  136 |                  | NULL                                                                                                                                                             |    0.000 |
|    189 | user-rw              | localhost       | bets-stage          | Sleep   |   14 |                  | NULL                                                                                                                                                             |    0.000 |
|    208 | user-rw              | localhost       | bets-stage          | Sleep   |   10 |                  | NULL                                                                                                                                                             |    0.000 |
|    218 | db1029865-news       | localhost       | db1029865-sportnews | Query   |   24 | Sending data     | SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'

2 个答案:

答案 0 :(得分:0)

由少数用户评论,需要更多信息才能知道确切的问题。

从您提供的进程列表输出中可以看出,您的许多查询都处于状态"写入网络"持续20-30秒的范围。这意味着您的选择查询返回大量数据并花费大量时间将数据包写入网络,或者您的网络被其他进程缓慢/限制并使mysql输出变慢。

如果有任何网页使用这些查询,则他们不会在20-30秒内完成竞争结果(相当于网站停止)

答案 1 :(得分:0)

1。缓解DB

的压力

我个人会责怪这一点:

SELECT `post`.*,
       `post`.`team1_seourl` AS `team1seourl`,
       `post`.`team1_seourl` AS `teamseourl`,
       `post`.`team2_seourl` AS `team2seourl`,
       IF(`temp_tn1uid`.`value` > 0, `post`.`team1_uid`, NULL) AS `tn1uid`,
       IF(`temp_tn2uid`.`value` > 0, `post`.`team2_uid`, NULL) AS `tn2uid`
FROM
  (SELECT `post`.*,
          `post_j`.`title`,
          `post_j`.`teaser`
   FROM
     (SELECT `post`.*
      FROM `sportnews_cache_post_team` AS `post`
      FORCE INDEX(`sort_index`)
      JOIN
        (SELECT `cache_uid`
         FROM `sportnews_cache_post_team` AS `post`
         WHERE (`post`.`team1_uid` = 4894
                OR `post`.`team2_uid` = 4894)
         GROUP BY `post`.`uid`
         ORDER BY `post`.`cache_uid` LIMIT 40
         OFFSET 0) AS `post_j` ON `post`.`cache_uid` = `post_j`.`cache_uid`) AS `post`
   JOIN `sportnews_post` AS `post_j` ON `post_j`.`uid` = `post`.`uid`) AS `post`
LEFT JOIN
  (SELECT `uid`,
          COUNT(*) AS `value`
   FROM `sportnews_cache_post_team` AS `post`
   FORCE INDEX(`sort_index`)
   WHERE `post`.`team1_uid` = 4894
   GROUP BY `post`.`uid`) AS `temp_tn1uid` ON `temp_tn1uid`.`uid` = `post`.`uid`
LEFT JOIN
  (SELECT `uid`,
          COUNT(*) AS `value`
   FROM `sportnews_cache_post_team` AS `post`
   FORCE INDEX(`sort_index`)
   WHERE `post`.`team2_uid` = 4894
   GROUP BY `post`.`uid`) AS `temp_tn2uid` ON `temp_tn2uid`.`uid` = `post`.`uid`

从您的日志中。我还没有发生过一个数据库引擎,它会以有效的方式加入那么多子选择。我假设您在日志中使用它来创建临时表 - 这是一个非常好的技巧。您可能想要为某些子查询创建临时表,设置与您的任务相关的正确索引,然后再加入它们。我希望,这个查询不会过于频繁地发送给DB。

SQL中有一个有用的EXPLAIN命令。请试用该文档:here

2。 Hudge结果集

根据sportsnews_log表格的大小,writing to net可能会长时间出现此问题:

SELECT /*!40001 SQL_NO_CACHE */ * FROM `sportnews_log`

@comment: 我可能假设错误,因为我不知道你的数据库,但我认为sportsnews_log表可能很大(比方说250k +记录)。我很确定你没有在网站上显示所有这些输入。 SQL_NO_CACHE无法帮助加快查询,同时使用*(一点点)不建议 - 但在您的情况下可能是必要的。如果你定期重写sportnews_log并保持50行,我可能会想错,但我相信你会理解为什么我怀疑这一点。您可能正在使用约20条记录,因此对于最新输入,使用正确LIMIT的简单ORDER将会产生HUDGE差异。

3。频繁的相同查询

让我们以不同的方式对待这个:

SELECT `detail`, UNIX_TIMESTAMP(created_on) AS created_on
FROM (`sportnews_log`)
WHERE `severity` =  'info'
AND `source` =  'crawler'
ORDER BY `created_on` desc

它更像#2 的一个例子,可能一个合适的LIMIT会有很多帮助,但我认为这个查询非常激动经常。您的可能会有新的解决方案,但在一个条件:这些结果不需要100%实际,假设在发布之前有5分钟的偏移。为此,有一些缓存机制,这可能会有所帮助。在我工作的公司中,我们正在使用memcashed(查看" Memcasched users" list)。 PHP支持得很好。对此,新解决方案的伪代码将是:

declare RESULT
RESULT get from cache on key LAZY_UPDATE
if RESULT is false
    get use of your DB and set RESULT into query result
    set cache under LAZY_UPDATE key to value of RESULT for 5 minutes

return RESULT

这将使您每5分钟仅对该特定查询施加一次压力。如果您对此感兴趣,请查看here