Exemplo n.º 1
0
ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 1);
assert_options(ASSERT_ACTIVE, 1);
require dirname(dirname(__DIR__)) . '/dist/libserverbench.phar';
use ServerBench\App\Client\Client as ClientApp;
use ServerBench\App\Client\Multier;
function mt()
{
    return gettimeofday(true) * 1000;
}
define('NUM_OF_CLIENTS', 200);
define('NUM_OF_PACKAGES', 10000);
$clients = [];
for ($i = 0; $i < NUM_OF_CLIENTS; ++$i) {
    $client = new ClientApp();
    $client->setSndHwm(1000000);
    $client->setRcvHwm(1000000);
    $client->connect('tcp://127.0.0.1:12345', new ServerBench\Codec\Json(), true);
    $client->setRecvTimeout(200);
    $client->setSendTimeout(200);
    $clients[] = $client;
}
$msg = <<<M
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
Exemplo n.º 2
0
}
if (!isset($arguments['concurrent']) && !isset($arguments['connect']) && !isset($arguments['time'])) {
    die("usage: benchmark.php -c {num of clients} -C {address} -T {timed testing}");
}
define('NUM_OF_CLIENTS', $arguments->get('concurrent'));
define('CONNECT', $arguments->get('connect'));
define('TIME_TO_TESTING', $arguments->get('time') * 1000);
define('LENGTH', $arguments->get('length', 100));
printf("clients %d, connect %s, time to testing %f sec, length %d\n", NUM_OF_CLIENTS, CONNECT, TIME_TO_TESTING / 1000, LENGTH);
// ready
$recv = [];
$clients = [];
$poller = new Poller();
$msg = str_repeat('-', LENGTH);
for ($i = 0; $i < NUM_OF_CLIENTS; ++$i) {
    $client = new ClientApp();
    $client->setSndHwm(1000000);
    $client->setRcvHwm(1000000);
    $client->connect(CONNECT, null, true);
    $client->setRecvTimeout(200);
    $client->setSendTimeout(200);
    $id = $poller->registerReadable($client);
    $clients[$id] = $client;
    $recv[$id] = 0;
}
$sending = 0;
$recving = 0;
$start = mt();
foreach ($clients as $id => $client) {
    $client->send($msg);
}
Exemplo n.º 3
0
<?php

ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 1);
assert_options(ASSERT_ACTIVE, 1);
require dirname(dirname(__DIR__)) . '/dist/libserverbench.phar';
use ServerBench\App\Client\Client as ClientApp;
function mt()
{
    return gettimeofday(true) * 1000;
}
$app = new ClientApp();
$app->connect('tcp://127.0.0.1:12345', new ServerBench\Codec\Json(), false);
$start = mt();
$msg = <<<M
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
M;
for ($i = 0; $i < 1000; ++$i) {
    $rc = $app->send(['data' => $msg, 'seq' => $i]);
    if (false === $rc) {
        echo 'failed to send msg. ', $app->errno(), "\n";
        die;