PHP多个同时请求

时间:2015-07-01 05:51:52

标签: php mongodb

我正在使用名为user_log的集合mongoDB。

我曾经将所有来自服务器的请求存储到数据库中,

以下是代码:

$document=null;
$userId="someID";
$cursor = $this->collection->find(array('userID' => $userId));
if ($cursor) {
    $cursor->sort(array('updated_at' => -1))->limit(1);
    if ($cursor->count() > 0) {
        $cursor->getNext();
        $document= $cursor->current();
    }
}
$data = array('userID' => $userId,....);
if($document){
    $data['request_count'] = $document['request_count'] + 1;
}else{
     $data['request_count'] = 1;
}
$data['created_at'] = time();
$data['updated_at'] = time();
$this->collection->insert($data);

然后尝试使用wrk进行压力测试。

wrk -t4 -c200 -d30s http://localhost:8000/testing/stress-test

结果是 4个线程和200个连接 30.03s中有1470个请求,835.83KB读取。

总共有1470个项目插入到db中。 问题是最后创建的项目' request_count'是49而不是1470!

我是以错误的方式做这件事的吗?如果没有,如何解决这个问题?

0 个答案:

没有答案