WN

WN (https://www.wn.se/forum/index.php)
-   Webbhotell (https://www.wn.se/forum/forumdisplay.php?f=13)
-   -   Mätetal för webhotel (https://www.wn.se/forum/showthread.php?t=1047156)

oderland 2011-03-18 00:45

Done. 1000 inserts in 0.05063 seconds
Lämnar den öppen ett tag för ev. test
http://magtest.hemsida.eu/testdir

MrJozk 2011-03-18 07:12

Körde detta några gånger nu på Loopia i en ny databas.

Snabbaste:
Done. 1000 inserts in 0.0886 seconds

Långsammaste:
Done. 1000 inserts in 0.06803 seconds

Danielos 2011-03-18 08:19

Citat:

Ursprungligen postat av oderland (Inlägg 20398303)
Done. 1000 inserts in 0.05063 seconds
Lämnar den öppen ett tag för ev. test
http://magtest.hemsida.eu/testdir

This MySQL instance does NOT support MYISAM tables betyder att databasen inte blev skapad, jag fick liknande bra värden på samma sätt.

Sludent 2011-03-18 08:27

Verkar vara viss skillnad om man kör mysql lokalt, då går det ännu snabbare.

Kan ju vara bra om alla kör med samma inställningar och att det verkligen fungerar, annars blir det ju inga vettiga värden. :)

pelmered 2011-03-18 10:09

Citat:

Ursprungligen postat av BarateaU (Inlägg 20398301)
Bara att någon gör om scriptet lite så de kan rapportera eller crona på nått vis.
Och så får folk signa upp sig att de kan köra på sitt hotell, jag kan erbjuda test från 3 hotell alla fall.

Om någon knåpar ihop nått så har jag kanske passande domän att presentera de på, hosten pungt se

Jag har börjat knåpa ihop det nu :)

Det var dock en jobbig licens på testscriptet så jag ska nog göra ett eget, liknande.

BarateaU 2011-03-18 12:24

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398329)
Jag har börjat knåpa ihop det nu :)

Det var dock en jobbig licens på testscriptet så jag ska nog göra ett eget, liknande.


Okey cool, bättre om du knåpar själv då du troligen kan anpassa det bättre då med nya bättre funktioner.
Hojta om de är nått

pelmered 2011-03-18 13:12

Nu har jag fått ihop en grund för detta.

De som vill bidra får gärna skriva egna testfunktioner på saker som ska testas.

Gör funktionerna enligt följande exempel:
PHP-kod:

function func_insert()
{
   global 
$dbl$dbName$tableName$numIter$randStrArr;
   
   
//Timer Start
   
$st microtime();    
   
   
//Perform test - INSERT
   
for ($i 0$i $numIter$i++)
   {
      
mysqli_query($dbl"INSERT INTO `$dbName`.`$tableName` (`id` ,`testcolumn`)VALUES ($i , '".$randStrArr[$i]['s']."' )");
   }
   
//test end

   //Get time and return exec time
   
return getTime($st);
}

function 
func_insert_pdo()
{
   global 
$dbh$dbName$tableName$numIter$randStrArr;
   
   
//Prepare test
   
$insertStmt$dbh->prepare("INSERT INTO results ( `id` ,`testcolumn` ) VALUES( :id, :teststr)");
   
   
//Timer Start
   
$st microtime();
   
   
//Perform test - INSERT PDO
   
for ($i 0$i $numIter$i++) {
      
$insertStmt->bindParam(':id'$iPDO::PARAM_INT);
      
$insertStmt->bindParam(':teststr'$randStrArr[$i]['s'], PDO::PARAM_STR$randStrArr[$i]['l']);

      
$insertStmt->execute( );
   }
   
//test end
    
    //Get time and return exec time
   
return getTime($st);


Kommentarer:
$dbl = Databasanslutning med MySQLi - http://php.net/manual/en/book.mysqli.php
$dbh = Databasanslutning med PDO - http://php.net/manual/en/book.pdo.php
$dbName = Databasnamn
$tableName = Testtabellnamn
$numIter = Antal iterationer (1000 kommer det nog vara, men vill ha möjligheten att ändra detta)
$randStrArr = En array med slumpade sängar och längden på dessa. Strängarna är siffror samt stora och små bokstäver med en slumpad längd mellan 5 och 15 tecken. Strängens längd finns också med i arrayen om man vill använda den.
Arrayen är på följande form:
PHP-kod:

Array
(
    [
0] => Array
        (
            [
s] => 49MmVEQpabk
            
[l] => 11
        
)

    [
1] => Array
        (
            [
s] => Mex1IJoruZWVF
            
[l] => 13
        
)

    [
2] => Array
        (
            [
s] => dPvgE8KT3eOGYwR
            
[l] => 15
        
)

    [
3] => Array
        (
            [
s] => TmABc
            
[l] => 5
        
)
....
    [
999] => Array
        (
            [
s] => 2WQvegSDsh
            
[l] => 10
        
)



Några kommentarer på det upplägget?

Kanske ska skapa en ny tråd med detta?

Björklund 2011-03-18 16:00

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398300)
Som referens:
Done. 1000 inserts in 0.07084 seconds

Glesys VPS med 1 core med i princip standardkonfiguration av MySQL.

Hm.. prestandan blev dock avsevärt mycket sämre med flera cores. Det var lite mysko

Blir inte snabbare med mer cores eftersom du (antagligen) kör alla insert från en enda process. Blir snabbare om du på något sätt kan dela upp den i flera trådar, ex 4 trådar som kör 250 inserts var.

Däremot ska det inte bli långsammare, men kan ju beror på att fler kunder körde något på samma processorcore som du körde på.

pelmered 2011-03-18 16:31

Citat:

Ursprungligen postat av Björklund (Inlägg 20398394)
Blir inte snabbare med mer cores eftersom du (antagligen) kör alla insert från en enda process. Blir snabbare om du på något sätt kan dela upp den i flera trådar, ex 4 trådar som kör 250 inserts var.

Däremot ska det inte bli långsammare, men kan ju beror på att fler kunder körde något på samma processorcore som du körde på.

Ja, det vet jag. Den kör samma process/tråd.
Det jag reagerade på var att jag hamnade på 0,11-0,13 sekunder med fler än en core istället för 0,07 - 0,09 med bara en, vilket är avsevärt mycket lägre. Att det inte skulle gå speciellt mycket snabbare var jag medveten om, men de här resultaten förvånade mig.

pelmered 2011-03-18 17:57

En första version av klienten är klar så ni kan ladda ner den.

Skapade en tråd om detta här: http://www.wn.se/showthread.php?p=20398410#post20398410


Alla tider är GMT +2. Klockan är nu 22:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson