我们正计划构建实时竞价,我们正在评估吞吐量/响应时间等方面
的PHP
比较性能。 (Java 部分由团队的其他成员负责)Java
初始启动:
我有一个测试脚本,它可以与不同的服务器建立 50 个 http 连接。
第一种方法
- 我正在使用curl_multi_init
函数,我在 7 秒内得到响应。
第二种方法
- 我正在使用PHP
pthreads api
并尝试进行并行调用并期望相同或更少的响应时间。但平均总时间约为 25 秒
这是代码
<?php
$g_request_arr = array(
'0' => array(
'request_url' => 'https://www.google.co.uk/?#q=56%2B12'
),
..
..
..
'49'=>array(
'request_url' => 'https://www.google.co.uk/?#q=256%2B132'
)
);
class ChildThread extends Thread {
public function __construct($urls) {
$this->data = $urls;
}
public function run(){
foreach($this->data as $url_info ){
$url = $url_info['request_url'];
file_get_contents($url);
}
$this->synchronized(function($thread){
$thread->notify();
}, $this);
}
}
$thread = new ChildThread($g_request_arr);
$thread->start();
$thread->synchronized(function($thread){
}, $thread);
?>
我想知道上面代码中缺少什么,或者是否可以将响应控制在 7 秒内。