什么意思(超时)“strace”-output? (mysql / php分析)

时间:2015-09-25 10:29:35

标签: php mysql linux strace

我有一个SQL查询的问题,由于原因(我不明白),根据“strace”a(超时)并且起床运行X次?

  

民意调查([{fd = 6,events = POLLIN | POLLPRI}],1,0)= 0(超时)

执行查询的PHP脚本首先在数据库中查找数据库中是否已存在相应的电子邮件地址,否则将添加该脚本,如果没有发生错误,则会发送电子邮件。

服务器: Ubuntu 14.04.3 LTS

DB: mysql Ver 14.14使用readline 6.3为debian-linux-gnu(x86_64)分发5.5.44

表: InnoDB

SQL:(示例| 1个查询的持续时间:0,031秒)

SELECT SQL_NO_CACHE user_email FROM mail_logging
WHERE mail_id_fk IN (142)
AND user_email = 'tester@foo.bar'

SQL:(EXPLAIN)

id  select_type table   type    possible_keys   key key_len ref rows    Extra
1   SIMPLE  mail_logging    ref id_mail,mail_id_fk,user_email   id_mail 775 const,const 1   Using where; Using index

strace: http://pastebin.com/FbYUZ1a3

lsof: http://pastebin.com/RyQcbWmj

编辑:感谢@VolkerK,现在我看到了问题:P

1 个答案:

答案 0 :(得分:2)

我认为这表明民意调查已经以超时结束。从民意调查手册页:

  

timeout参数指定poll()将阻止的最小毫秒数。 (此间隔将向上舍入到系统时钟粒度,并且内核调度延迟意味着阻塞间隔可能会超出一小部分。)在超时中指定负值意味着无限超时。指定超时为零会导致poll()立即返回,即使没有准备好文件描述符