예제 #1
0
<?php

include 'parallel-const.php';
//system('rm -r ./data/*');
// compare performance on single proccess
// versus two processes
// 2 parallel inserts
pcntl_fork();
//pcntl_fork();
//pcntl_fork();
//$pid = 0;
echo "Initializing YNDb\n";
$MOO = new YNDb('data');
echo "Create table test\n";
try {
    $MOO->create('test', array('id' => 'INT', 'bad_rand' => 'INT', 'name' => 'TINYTEXT'), array('AUTO_INCREMENT' => 'id', 'INDEX' => array('bad_rand')));
} catch (Exception $e) {
    echo "Caught exception: " . $e->getMessage() . "\n";
}
usleep(1000);
// sleep just a moment to ensure that table is created
echo "Inserting " . INSERT_VALUES . " values\n";
for ($i = 0; $i < INSERT_VALUES; $i++) {
    if ($i % 50 == 0) {
        echo 'Inserted ' . $MOO->insert_id() . "\n";
    }
    $br = mt_rand(0, INSERT_VALUES / AVG_BAD_RAND);
    //echo 'inserting br = '.$br."\n";
    $MOO->insert('test', array('name' => 'entry #' . $i, 'bad_rand' => $br));
    //
}
예제 #2
0
<?php

include 'db.php';
echo `rm -rf test`;
mkdir('test');
$db = new YNDb('test');
$db->create('cdr', array('id' => 'INT', 'cust' => 'INT', 'dt' => 'TINYTEXT'), array('AUTO_INCREMENT' => 'id', 'INDEX' => array('cust')));
date_default_timezone_set('Europe/Moscow');
for ($i = 0; $i < 25; $i++) {
    $db->insert('cdr', array('cust' => mt_rand(0, 4), 'dt' => date('Y-m-d H:i:s')));
    sleep(mt_rand(1, 3));
}
예제 #3
0
파일: test.php 프로젝트: sibero/moosql
}
//define('TABLE', 'test2');
define('TABLE', 'test3');
echo '<h1>Choose operation:</h1>';
foreach (explode(' ', 'create insert select delete update stress clean') as $v) {
    echo '<a href="?act=' . $v . '"><b>' . strtoupper($v) . '</b></a> ';
}
if (@$_REQUEST['act']) {
    echo '<h2>' . strtoupper($_REQUEST['act']) . '</h2>';
}
flush();
switch (@$_REQUEST['act']) {
    case 'create':
        //$db -> create(TABLE, array( 'id' => 'INT', 'data' => 'TINYTEXT', 'float' => 'DOUBLE', 'text' => 'TEXT', 'LONGTEXT' => 'LONGTEXT', 'rand' => 'INT' ), array('AUTO_INCREMENT' => array('name' => 'id'), 'UNIQUE' => array('rand')));
        // $db -> create(TABLE, array( 'id' => 'INT', 'data' => 'TINYTEXT', 'float' => 'DOUBLE', 'text' => 'TEXT', 'LONGTEXT' => 'LONGTEXT', 'rand' => 'INT', 'bad_rand' => 'INT' ), array('AUTO_INCREMENT' => array('name' => 'id'), 'UNIQUE' => array('rand'), 'INDEX' => array('bad_rand')));
        $db->create(TABLE, array('id' => 'InT', 'data' => 'TiNYTEXT', 'float' => 'DOUBLE', 'text' => 'TEXT', 'loNgText' => 'LONGTEXT', 'rand' => 'INT', 'bad_rand' => 'INT', 'another_bad_rand' => 'INT', 'another_rand' => 'INT'), array('AUTO_INCREMENT' => 'id', 'UNIQUE' => array('rand', 'another_rand'), 'INDEX' => array('bad_rand', 'another_bad_rand')));
        //echo '<p><b>ERROR (if not empty):</b> '.$db -> get_error();
        break;
    case 'insert':
        ///*
        $start = microtime(true);
        echo '<!-- ' . str_repeat('-', 1024) . ' -->';
        set_time_limit(0);
        $primary_time = $lock_time = $unique_time = $index_time = 0;
        $start = microtime(true);
        //$db->lock_table(TABLE);
        $i = $i8 = $ia25 = 0;
        while (microtime(true) - $start < 1) {
            try {
                $db->insert(TABLE, array('data' => time() . str_repeat('gh;dajfkaljfdlkjflsdaca ', 10), 'float' => M_PI * rand(), 'text' => 'проверка', 'LONGTEXT' => 'првоерка работы :)', 'rand' => mt_rand(0, 100), 'bad_rand' => $brnd = rand(0, 32), 'another_bad_rand' => $abrnd = rand(0, 90), 'another_rand' => mt_rand()));
            } catch (Exception $e) {