Ejemplo n.º 1
0
<?php

error_reporting(~E_WARNING & ~E_NOTICE & E_ALL);
require 'IQueue.php';
require 'RabbitQueue.php';
require 'MemcachedQueue.php';
require 'MongodbQueue.php';
require 'RedisQueue.php';
require 'MessageQueueProxy.php';
$config = (require 'config.php');
$class = $config['driver'];
$mq = new $class($config['driverInfo']);
$mobileMessageObj = new MessageQueueProxy($mq);
$time = 100;
$num = 5000;
$success = 0;
for ($j = 0; $j < $time; ++$j) {
    $start = microtime(true);
    for ($i = 0; $i < $num; ++$i) {
        $mobile = '1355' . rand(1000000, 9999999);
        $content = 'this is your phone number: ' . $mobile . '.';
        $message = array('mobile' => $mobile, 'content' => $content);
        if (!$mobileMessageObj->push(serialize($message))) {
            echo "on index:", $j * $num + $i + 1, " push error !";
            goto pushout;
        }
        ++$success;
    }
    $result[] = microtime(true) - $start;
    echo intval(($j + 1) / $time * 100), "% ";
}
<?php

error_reporting(~E_NOTICE & E_ALL);
require 'IQueue.php';
require 'RabbitQueue.php';
require 'MemcachedQueue.php';
require 'MongodbQueue.php';
require 'RedisQueue.php';
require 'MessageQueueProxy.php';
$config = (require 'config.php');
$class = $config['driver'];
$mq = new $class($config['driverInfo']);
$mobileMessageObj = new MessageQueueProxy($mq);
$num = 10000;
echo $start = microtime(true);
for ($i = 0; $i < $num; ++$i) {
    $mobile = '1355' . rand(1000000, 9999999);
    $content = 'this is your phone number: ' . $mobile . '.';
    $message = array('mobile' => $mobile, 'content' => $content);
    if (!$mobileMessageObj->push(serialize($message))) {
        echo "push error !";
        break;
    }
}
echo " -- times: {$num} takes: ", microtime(true) - $start, "s size: ", $mobileMessageObj->size(), "\n";
Ejemplo n.º 3
0
<?php

error_reporting(~E_NOTICE & E_ALL);
require 'IQueue.php';
require 'RabbitQueue.php';
require 'MemcachedQueue.php';
require 'MongodbQueue.php';
require 'RedisQueue.php';
require 'MessageQueueProxy.php';
$config = (require 'config.php');
$class = $config['driver'];
$mq = new $class($config['driverInfo']);
$mobileMessageObj = new MessageQueueProxy($mq);
$num = 10000;
echo $start = microtime(true);
for ($i = 0; $i < $num; ++$i) {
    $message = $mobileMessageObj->pop();
    if (empty($message)) {
        break;
    }
    $messageInfo = $message;
    send_mobile_message($messageInfo['mobile'], $messageInfo['content']);
}
echo " -- times: {$num} takes: ", microtime(true) - $start, "s size: ", $mobileMessageObj->size(), "\n";
function send_mobile_message($mobile, $content)
{
    usleep(1000);
    //0.001s
}