2012-06-20 40 views
2

我有一个彗星有我这样PHP彗星usleep阻止Apache MPM?

$items = $statement->fetchAll();//statement is a PDO Statement 
$iteration = 0; 
while(count($items) == 0 && $iteration < 100){ 
    $items = $statement->fetchAll(); 
    usleep(10000); 
    ++$iteration; 
} 

当彗星运行,我可以看到所有其他HTTP请求被挂起运行while循环。即使是非数据库请求也在等待处理。为什么?

+0

我唐诺可能。如果通过同一个连接调用postgresql,则所有parallal问题都将被序列化。并且您正在使用持久连接。所以相同的连接被重用于所有查询。 –

回答