我正在使用名为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!
我是以错误的方式做这件事的吗?如果没有,如何解决这个问题?