WN

WN (https://www.wn.se/forum/index.php)
-   Feedback (https://www.wn.se/forum/forumdisplay.php?f=20)
-   -   HostingSpeed.se - Hjälp mig samla data och utveckla! (https://www.wn.se/forum/showthread.php?t=1047210)

pelmered 2011-03-18 17:56

HostingSpeed.se - Ett communityprojekt här på WN!
 
Vad är detta?

Det här är ett open scource communityprojekt här på WN. Tanken är att vi tillsammans ska bygga ihop ett system för samla olika former av data och statistik ifrån olika hostinglevereantörer, framförallt webbhotell i Sverige till att börja med, och sedan presentera allt på webbsida så att man enkelt kan se och jämföra de olika leverantörerna. Tjänsten ska göra det lättare att välja webbhotell, för såväl experten, genom grundlig statistik och avancerade prestandatester, som för nybörjaren, genom lättillgänglig, lättöversiktlig och jämförbar information över de alternativ som finns.
Bakgrunden till det här initiativet kommer ifrån diskussionen i tråden "Mätetal för webbhotell" http://www.wn.se/t1047156.html och vi har valt att starta ett projekt för att lösa detta.

Projektet kommer vara helt öppet och vi kommer licensera systemet med någon GNU-likande open source-licens. Det är med andra ord inget projekt med något vinstsyfte utan bara för att det är kul och för att kunna erbjuda en bra tjänst som gör det lättare att välja en bra leverantör när det gäller webbhosting. Eventuella reklamintäkter, donationer eller dylikt kommer att gå oavkortat till drift och annat som är nödvändigt för att hålla systemet igång.

Status just nu.

Här kommer projektets status uppdateras löpande här i framtiden.

Vi ska precis dra igång det här projektet och vi letar nu personer som på något sätt kan bidra till utvecklingen och driften av det här systemet.
Det som behöver göras just nu är i det första skedet är att ta fram en mjukvarudesign av hur systemet ska fungera och någon enklare roadmap för utvecklingen initialt.

Repositoryt på github hittar ni här:
https://github.com/akelagercrantz/hostingspeed

Vad du kan bidra med

I nästa skede kommer vi behöva folk som kan bidra med:
  • Idéer! Både på nya funktioner och på hur saker ska fungera mer tekniskt.
  • utveckling av systemet. Klient-Server, till största delen i PHP.
  • Webbdesign för snygg presentationen av datan.
  • Hosting. Någon som kan sköta drift och administration av server samt stå för serverplats.
Skriv i tråden om du kan bidra med något av ovanstående.

Kontakt

Skriv här i tråden eller kontakta mig via PM om du har några funderingar eller har något annat att erbjuda som du tror skulle kunna vara bra för det här projektet.

pelmered 2011-03-18 17:59

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. Antalet är givetvis lika många som antalet iterationer.
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?

akelagercrantz 2011-03-18 18:24

Om du vill att vi andra ska bygga på och förbättra kanske det kan vara en bra idé att slänga upp den på github eller liknande?

Jag försökte för länge sedan se om det fanns något intresse på WN för ett gemensamt open source projekt, men det saknades då en bra idé på vad vi kunde göra. Det här passar ju utmärkt.

pelmered 2011-03-18 18:28

Bra idé! Ja, jag skulle kunna slänga upp både klient och server på github om intresse finns för det!

Jag har dock aldrig använt det dock så jag ska kolla upp lite.

Om någon kan stå för hosting och så också i så fall vore det trevligt!

akelagercrantz 2011-03-18 18:53

Jag kan nog stå för hosting om det behövs.

Hur har du tänkt med upplägget klient / server?

Erik Stenman 2011-03-18 18:57

Grymt, jag har funderat på att göra något liknande ett antal gånger.
Det borde även implementeras någon slags mätning av svarstider via javascript tycker jag. Så att när en användare går in på hemsidan så mäts hur lång tid det tar att få svar, dvs. inte att ladda innehållet. Om man gör det på serversidan blir det ju färre geografiska platser man mäter från.

pelmered 2011-03-18 21:18

Vi kör det som ett 100% Open Source-projekt då :)

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398427)
Jag kan nog stå för hosting om det behövs.

Okej, trevligt :)
Du får gärna fixa igång det. Jag kan skicka koden jag gjort hittills så kan du lägga in det och kanske även lägga upp på github.

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398427)
Hur har du tänkt med upplägget klient / server?

Jag vet inte riktigt vad du är ute efter men nu funkar det så att klienten bara spottar ut en stäng med informationen i formatet testkey:värde|testkey:värde osv. Exempel:
insert:7937|insert_pdo:9434|select:35714|update:89 29|

Sedan hämtar serverskriptet det med CURL, parsar det och stoppar in det i en databas. Ganska simpelt, men det behöver inte vara svårare än så, eller?

Erik Stenman: Ja, det är också bra saker att fixa. Det är bara att koda på när vi har fått igång detta! :)

oderland 2011-03-18 21:41

ODERLAND Webbhotell, delad server:

http://magtest.hemsida.eu/test2/client/

Kontakt [email protected]

akelagercrantz 2011-03-18 23:23

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398449)
Jag kan skicka koden jag gjort hittills så kan du lägga in det och kanske även lägga upp på github.

PM:ar dig min e-postadress så fixar jag det.

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398449)
Jag vet inte riktigt vad du är ute efter men nu funkar det så att klienten bara spottar ut en stäng med informationen i formatet testkey:värde|testkey:värde osv. Exempel:
insert:7937|insert_pdo:9434|select:35714|update:89 29|

Sedan hämtar serverskriptet det med CURL, parsar det och stoppar in det i en databas. Ganska simpelt, men det behöver inte vara svårare än så, eller?

Är det kanske bättre att vända på det? Klienterna initierar anslutning till servern och skickar data med ett API av något slag.

En fördel blir att vem som helst kan slänga upp en ny klient på valfritt hotell/webserver utan att serverdelen behöver känna till adressen för att få data. En annan fördel är att personen som lägger upp klienten själv får välja testintervall (om det körs med ett cronjob t.ex.), samt vilka tester som utförs. Vi kan ju anta att projektet utökas med lite olika typer av tester. Alla kanske inte är relevanta för varje platform.

Vad tror ni om det?

pelmered 2011-03-18 23:54

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398468)
PM:ar dig min e-postadress så fixar jag det.

Jag har skickar koden till din mail nu.

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398468)
Är det kanske bättre att vända på det? Klienterna initierar anslutning till servern och skickar data med ett API av något slag.

En fördel blir att vem som helst kan slänga upp en ny klient på valfritt hotell/webserver utan att serverdelen behöver känna till adressen för att få data. En annan fördel är att personen som lägger upp klienten själv får välja testintervall (om det körs med ett cronjob t.ex.), samt vilka tester som utförs. Vi kan ju anta att projektet utökas med lite olika typer av tester. Alla kanske inte är relevanta för varje platform.

Vad tror ni om det?

Mjo, det beror ju lite på vad man vill ha ut av datan dock.
Vill man kunna jämföra på ett bra sätt underlättar det ju om intervall och andra inställningar är lika på alla ställen. Det är ju även enklare att sätta upp om man inte behöver sätta upp crons och så. Tänkte mig att man kunde registers sig på sidan så att data hämtas och det kunde ju vara öppet för alla att registrera där.
Men det finns ju fördelar med ditt förslag också.

Ett problem som jag funderat på är hur man verifierar att datan är korrket. Det är ju lätt att fejka datan som skickas så att man kan få webbhotellet hur snabbt eller långsamt man vill.
En fundering jag fick här att att man försöker få så många källor som möjligt på varje webbhotell och sedan plockar bort de värden som avviker mest och tar ett snitt på resten. Utifrån den datan skulle man då även kunna gradera tillförlitligheten automatiskt.

akelagercrantz 2011-03-19 09:53

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398470)
Vill man kunna jämföra på ett bra sätt underlättar det ju om intervall och andra inställningar är lika på alla ställen. Det är ju även enklare att sätta upp om man inte behöver sätta upp crons och så. Tänkte mig att man kunde registers sig på sidan så att data hämtas och det kunde ju vara öppet för alla att registrera där.
Men det finns ju fördelar med ditt förslag också.

Ja det är sant. Hur löser vi då problemet om vilka tester som ska utföras? Tvingar vi alla att köra samtliga tester, eller ska man kanske ställa in vilka tester som ska efterfrågas av servern när man registrerar sig på sidan?

Det vore roligt om fler här på forumet kom med förslag och idéer, även om ni inte är intresserade av att vara med och skriva koden, det finns många skarpa hjärnor här.

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398470)
Ett problem som jag funderat på är hur man verifierar att datan är korrket. Det är ju lätt att fejka datan som skickas så att man kan få webbhotellet hur snabbt eller långsamt man vill.
En fundering jag fick här att att man försöker få så många källor som möjligt på varje webbhotell och sedan plockar bort de värden som avviker mest och tar ett snitt på resten. Utifrån den datan skulle man då även kunna gradera tillförlitligheten automatiskt.

Tyvärr är det lätt att fejka datan oavsett om vi kör klient->server eller server->klient, men det var en bra idé du hade.

akelagercrantz 2011-03-19 10:06

Repositoryt på github hittar ni här:
https://github.com/akelagercrantz/hostingspeed

pelmered 2011-03-19 11:07

Ja, vi borde nog sätta oss och rita upp en design(av koden/systemet alltså) som vi kan jobba efter innan vi sätter igång och utvecklar.
Vore ju som sagt kul om fler ville vara med och antingen bara dela idéer eller senare också hjälpa till och koda.

Edit: Uppdaterade första posten i tråden med information och status.

Danielos 2011-03-19 12:15

Jag sitter och funderar på om upplägget med open source och klient/server. Jag tycker vi bör ha reklam på själva servern, inte i början kanske, men när det väl kommer igång ordentligt, och skapa en pott som kan täcka ev. kostnader och annat.

En annan sak är att servern bör byggas så ett webbhotell kan ha fler än en klient, då hotell inkl. vårt har olika prestanda på olika kontotyper.

Och om det skulle behövas gratis webbhotellskonto för något så är det bara att höra av sig så ställer jag gärna upp och sätter upp några.

pelmered 2011-03-19 12:38

Citat:

Ursprungligen postat av Danielos (Inlägg 20398498)
Jag sitter och funderar på om upplägget med open source och klient/server. Jag tycker vi bör ha reklam på själva servern, inte i början kanske, men när det väl kommer igång ordentligt, och skapa en pott som kan täcka ev. kostnader och annat.

En annan sak är att servern bör byggas så ett webbhotell kan ha fler än en klient, då hotell inkl. vårt har olika prestanda på olika kontotyper.

Och om det skulle behövas gratis webbhotellskonto för något så är det bara att höra av sig så ställer jag gärna upp och sätter upp några.

Ja, det ska självklart gå att ha olika källor på samma webbhotell. Tanken är ju att alla som har ett webbhotellskonto ska kunna sätta upp detta på sitt eget konto för att testa och jämföra med vad andra får på samma eller andra webbhotell. Det hindrar ju såklart inte webbhotellen själva från att sätta egna testklienter. Ju mer data per webbhotell vi får in ju bättre statistiskt underlag får vi som gör att vi kan ge en bättre bild av verkligheten.

Tack för erbjudandet!
En tanke skulle kunna vara att webbhotellen ger oss ett konto på deras webbhotell så att vi själva kan sköta klienten och ha officiella siffror från de webbhotellen. Låter det intressant för din del(vi kommer troligen inte använda mer än 1MB utrymme per klient)?

abergman 2011-03-19 14:21

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398419)
Bra idé! Ja, jag skulle kunna slänga upp både klient och server på github om intresse finns för det!

Jag har dock aldrig använt det dock så jag ska kolla upp lite.

Om någon kan stå för hosting och så också i så fall vore det trevligt!

Jag kan ställa upp med en virtuell maskin.

MRDJ 2011-03-19 14:58

varför inte köra allt som en modul till ett cms istället för att bygga allt från grunden? då får man mycket på köpet såsom översättningsfunktioner, mallhantering osv.

i övrigt tycker jag att det är en bra idé.
Mitt tips är att bygga det som en modul till t.ex Drupal eller wordpress och det skulle jag kunna hjälpa till med.

BarateaU 2011-03-19 19:53

Smart, kan man köra de som en wordpress widget.
Och länk till stat för sql'en på hotellet.
Hotellnamn borde kunna läggas upp auto genom att kolla någon host parrameter.

Så om man lägger till widgeten så blir man med och läggs upp auto i "testet".
Widgeten börjar rapportera tillbaka sql instansens namn elle nått, då hotell inte har 1 sql server ofta.

Lätt att komma med i testet då vilket hjälper de att bli stort, och länk till stats med graf eller nått. Med länk som har ankartext.

akelagercrantz 2011-03-19 21:59

Det blir samtidigt en ganska stor begränsning om man väljer att skriva det som en plugin till wordpress.

Min vision är ett script som kan köras antingen via kommandotolken eller om man så vill en URI. Om man väljer att göra det som en engångsföreteelse eller att sätta upp någon form av cronjob för att exekvera scriptet väljer man själv. Testet borde vända sig till kunderna av webbhotell, för att förhindra att webbhotellen ger extra resurser till detta.

Testet kan köras oberoende av server om man så vill. Om vi skriver rigorösa och bra tester för många delar av hostingmiljön så kan vi nog skapa ett bra mätetal för webhosting som kan användas för att benchmarka alla möjliga typer av miljöer. För mig är det väldigt intressant att jämföra mina VPSer med andras.

Jag tycker nästan att vi kan dela upp projektet i två delar. Klienten, eller själva testet, är open source och promotas för användning av alla som vill få ett mätetal på sin webhost. Sedan bygger vi en hemsida som samlar in mätetal från frivilliga användare. Om hemsidan (eller servern) ska vara open source eller inte kvittar för mig. Om vi slänger upp en sida för att mäta svenska webbhotell så gissar jag att någon i Amerika som vill göra detsamma inte är så intresserad av vår design osv.

Hemsidan borde samla in data, analysera den och visa någon form av rapporter. Jag tror att det skulle vara en stor fördel att låta användaren bestämma i vilka intervall testet ska utföras, och vilka tester som utförs. Hemsidan kan såklart visa hur pålitlig datan är för en viss webhost. Mätdata från 12 exekveringar per dag under två månader är såklart mer pålitlig en en webhost som bara körde scriptet en gång.

Angående klient => server eller server => klient så känns det för mig mer logiskt att scriptet som enskild modul utför sina tester och sedan lämnar en rapport till den som exekverade. Om personen vill kan han välja att skicka in rapporten till servern/hemsidan. Han/hon kan så klart se till att detta sker automatiskt. Servern sitter bara snällt och tar emot inkommande data. Om en klient skulle gå ner eller personen avslutar testet så bryr sig inte servern, det kommer helt enkelt ingen mer data. Annars måste servern förstå när en klient går ner så att den inte sitter och gör en massa anslutningar som inte går fram, men ändå testa lite då och då för att se när klienten går upp igen.

Det var inte alls meningen att det skulle bli ett så långt inlägg. Ber om ursäkt! :-)

pelmered 2011-03-20 00:30

Många bra idéer.
Det stora problemet med att klienten skickar datan till servern och att servern är helt passiv är att alla klienter då måste köra med egna crons för att testen ska köras. Detta gör ju att installationen blir avsevärt mycket svårare vilket kan leda till att vi inte får in tillräckligt med data. Men i övrigt talar det mesta för den lösningen.

Att göra en plugin/modul till de stora CMSerna som ett komplement till stand alone-klienten tror jag kan vara en bra idé för att göra det enkelt att installera och köra även för det som inte har så mycket kunskaper. Det skulle ju då kunna överbygga det problemet med att man måste kunna sätta upp egna cronjobs till ganska stor del. Har väldigt lite erfarenhet av att utveckla plugins men det går väl att göra plugins med schemalagda körningar i exempelvis wordpress?
För att hemsidan som sammanställer informationen ska kunna visa bra och tillförlitlig information behovs det ganska mycket data och då gäller det att kunna sprida klienten på bred front.

abergman 2011-03-20 11:42

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398559)
Många bra idéer.
Det stora problemet med att klienten skickar datan till servern och att servern är helt passiv är att alla klienter då måste köra med egna crons för att testen ska köras. Detta gör ju att installationen blir avsevärt mycket svårare vilket kan leda till att vi inte får in tillräckligt med data. Men i övrigt talar det mesta för den lösningen.

Att göra en plugin/modul till de stora CMSerna som ett komplement till stand alone-klienten tror jag kan vara en bra idé för att göra det enkelt att installera och köra även för det som inte har så mycket kunskaper. Det skulle ju då kunna överbygga det problemet med att man måste kunna sätta upp egna cronjobs till ganska stor del. Har väldigt lite erfarenhet av att utveckla plugins men det går väl att göra plugins med schemalagda körningar i exempelvis wordpress?
För att hemsidan som sammanställer informationen ska kunna visa bra och tillförlitlig information behovs det ganska mycket data och då gäller det att kunna sprida klienten på bred front.

Man kan låta servern köra cronjobb mot siterna, men att siterna själva rapporterar hem?

Om man gör en URL-tillgänglig för servern, och låter URLen vara låst till serverns IP så blir det ju ganska säkert dessutom?

Då kan de som inte vill sätta upp egna cronjobb lägga upp cronjobben på servern via ett smidigt gränssnitt där de bara anger URLen till siten och eller scriptet.

MRDJ 2011-03-20 11:59

Att säga att det är begränsningar att köra ett cms tycker jag är ett konstigt resonemang.
Jag ser absolut inga begränsningar, man bygger det man vill göra som moduler. jag har gjort det med alla sidor jag har byggt och jag har inte stött på några begränsningar än så länge.

Ang cronjobbshanteringen så hade Drupal vart perfekt, dem har en inbyggd såkallad "hook_cron" där man kan hooka på med egna cronjob i moduler.

Sedan ang prestanda så är Drupal ett av dem snabbaste, jag har utfört tester och det klarar uppåt 1500 requests per sekund.


Såhär tycker jag upplägget borde se ut:

Server - körs som en simpel modul till drupal med cron jobb.
Klienter - moduler till dem stora CMS:erna för att mäta hur snabbt webbhotellet är på varje cms.


Det är bara min åsikt.. :)


Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398551)
Det blir samtidigt en ganska stor begränsning om man väljer att skriva det som en plugin till wordpress.

Min vision är ett script som kan köras antingen via kommandotolken eller om man så vill en URI. Om man väljer att göra det som en engångsföreteelse eller att sätta upp någon form av cronjob för att exekvera scriptet väljer man själv. Testet borde vända sig till kunderna av webbhotell, för att förhindra att webbhotellen ger extra resurser till detta.

Testet kan köras oberoende av server om man så vill. Om vi skriver rigorösa och bra tester för många delar av hostingmiljön så kan vi nog skapa ett bra mätetal för webhosting som kan användas för att benchmarka alla möjliga typer av miljöer. För mig är det väldigt intressant att jämföra mina VPSer med andras.

Jag tycker nästan att vi kan dela upp projektet i två delar. Klienten, eller själva testet, är open source och promotas för användning av alla som vill få ett mätetal på sin webhost. Sedan bygger vi en hemsida som samlar in mätetal från frivilliga användare. Om hemsidan (eller servern) ska vara open source eller inte kvittar för mig. Om vi slänger upp en sida för att mäta svenska webbhotell så gissar jag att någon i Amerika som vill göra detsamma inte är så intresserad av vår design osv.

Hemsidan borde samla in data, analysera den och visa någon form av rapporter. Jag tror att det skulle vara en stor fördel att låta användaren bestämma i vilka intervall testet ska utföras, och vilka tester som utförs. Hemsidan kan såklart visa hur pålitlig datan är för en viss webhost. Mätdata från 12 exekveringar per dag under två månader är såklart mer pålitlig en en webhost som bara körde scriptet en gång.

Angående klient => server eller server => klient så känns det för mig mer logiskt att scriptet som enskild modul utför sina tester och sedan lämnar en rapport till den som exekverade. Om personen vill kan han välja att skicka in rapporten till servern/hemsidan. Han/hon kan så klart se till att detta sker automatiskt. Servern sitter bara snällt och tar emot inkommande data. Om en klient skulle gå ner eller personen avslutar testet så bryr sig inte servern, det kommer helt enkelt ingen mer data. Annars måste servern förstå när en klient går ner så att den inte sitter och gör en massa anslutningar som inte går fram, men ändå testa lite då och då för att se när klienten går upp igen.

Det var inte alls meningen att det skulle bli ett så långt inlägg. Ber om ursäkt! :-)


pelmered 2011-03-20 12:42

Citat:

Ursprungligen postat av MRDJ (Inlägg 20398578)
Att säga att det är begränsningar att köra ett cms tycker jag är ett konstigt resonemang.
Jag ser absolut inga begränsningar, man bygger det man vill göra som moduler. jag har gjort det med alla sidor jag har byggt och jag har inte stött på några begränsningar än så länge.

Ang cronjobbshanteringen så hade Drupal vart perfekt, dem har en inbyggd såkallad "hook_cron" där man kan hooka på med egna cronjob i moduler.

Sedan ang prestanda så är Drupal ett av dem snabbaste, jag har utfört tester och det klarar uppåt 1500 requests per sekund.


Såhär tycker jag upplägget borde se ut:

Server - körs som en simpel modul till drupal med cron jobb.
Klienter - moduler till dem stora CMS:erna för att mäta hur snabbt webbhotellet är på varje cms.

Det är bara min åsikt.. :)

För serverdelen vet jag inte riktigt. Jag ser nog hellre att vi gör något egenutvecklat tror jag. I min vision om hur det skulle se ut på webbsidan tror jag inte vi kommer behöva speciellt många vanliga CMS-funktioner. Utan det kommer ju bara vara en del som samlar in datan och en som presenterar den i form av en hemsida. Vi skulle kunna använda något ramverk som t.ex. CodeIgniter dock.

Jag tror också att det är en bra lösning med att göra klienterna som moduler till de stora CMS:en, men vi bör såklart också ha en stand alone-klient för de som inte kör något CMS.

Citat:

Ursprungligen postat av abergman (Inlägg 20398577)
Man kan låta servern köra cronjobb mot siterna, men att siterna själva rapporterar hem?

Om man gör en URL-tillgänglig för servern, och låter URLen vara låst till serverns IP så blir det ju ganska säkert dessutom?

Då kan de som inte vill sätta upp egna cronjobb lägga upp cronjobben på servern via ett smidigt gränssnitt där de bara anger URLen till siten och eller scriptet.

Ja, det är så det fungerar i den första testversionen jag gjort.
Servern kör ett cronjob och anropar klienterna med CURL. Min första tanke var precis så, att man kunde gå in på sidan och klistra in URL till klientscriptet och fylla i vilket webbhotell man har samt kanske vilka test man vill köra och hur ofta.

BarateaU 2011-03-20 12:50

Tror cronen i wp kan triggas av besökare, dvs när någon besöker sidan så triggas cronen. Så om man inte sätter upp egen cron är de ju bra om sidan har några få besökare om dagen alla fall.

Om man kör wp plugin behöver man inte konfa någon db setting då pluginsen får snacka med dd'n. Bara att pluginet skapar en egen table som den kan ha som sandlåda, och avinstallerar man pluginet ska den ta bort db spåren.

Så kommer de bli väldigt lätt att joina och lätt att hoppa av utan konfningar osv.

MRDJ 2011-03-20 13:31

Citat:

Ursprungligen postat av BarateaU (Inlägg 20398585)
Tror cronen i wp kan triggas av besökare, dvs när någon besöker sidan så triggas cronen. Så om man inte sätter upp egen cron är de ju bra om sidan har några få besökare om dagen alla fall.

Om man kör wp plugin behöver man inte konfa någon db setting då pluginsen får snacka med dd'n. Bara att pluginet skapar en egen table som den kan ha som sandlåda, och avinstallerar man pluginet ska den ta bort db spåren.

Så kommer de bli väldigt lätt att joina och lätt att hoppa av utan konfningar osv.

I drupal sätter man upp en cronjobb mot /cron.php i rooten sedan använder modulerna sig av en såkallad "hook" där man kan använda sig av samma cronjobb.

Tror det funkar liknande i joomla.

codler 2011-03-20 14:19

Ni kan kika på denna sida tycker jag.
http://www.browserscope.org/

akelagercrantz 2011-03-20 15:42

Citat:

Ursprungligen postat av MRDJ (Inlägg 20398578)
Att säga att det är begränsningar att köra ett cms tycker jag är ett konstigt resonemang.

Vad jag menade var att det blir en begränsning om vi tvingar användaren att använda ett cms för att delta i testet.

Citat:

Ursprungligen postat av codler (Inlägg 20398593)
Ni kan kika på denna sida tycker jag.
http://www.browserscope.org/

Intressant, speciellt hur de presenterar datan.

Jag ser fördelar och nackdelar med båda varianterna av klient/server kommunikation. Det vore intressant att höra lite åsikter av er som har svarat på omröstningen.

MRDJ 2011-03-20 16:42

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398603)
Vad jag menade var att det blir en begränsning om vi tvingar användaren att använda ett cms för att delta i testet.



Intressant, speciellt hur de presenterar datan.

Jag ser fördelar och nackdelar med båda varianterna av klient/server kommunikation. Det vore intressant att höra lite åsikter av er som har svarat på omröstningen.

En simpel php-sida kommer självfallet att gå supersnabbt när det inte finns några databaskopplingar osv, frågan är om det blir ett rättvist test? olika webbhotell är olika bra med olika cms, det var därför jag tänkte man kunde köra allt som cms moduler.

akelagercrantz 2011-03-20 17:15

Citat:

Ursprungligen postat av MRDJ (Inlägg 20398608)
En simpel php-sida kommer självfallet att gå supersnabbt när det inte finns några databaskopplingar osv, frågan är om det blir ett rättvist test? olika webbhotell är olika bra med olika cms, det var därför jag tänkte man kunde köra allt som cms moduler.

Det test som ITisGood har skrivit testar operationer/s i MySQL. Jag kan tänka mig att vi implementerar liknande tester för cpu-prestanda, IO-prestanda osv.

Att testa antal req/s i ett cms är så klart intressant också, men det är så många parametrar som man måste ta hänsyn till. Det är många inställningar som påverkar hastigheten av systemet. En installation av wordpress skiljer sig ganska mycket från en annan, med den stora mängd plugins det finns. Bara det att ändra på permalänkarnas struktur kan påverka prestandan i wordpress enormt. http://comox.textdrive.com/pipermail...ry/011097.html

jgabor 2011-03-22 11:20

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398501)
En tanke skulle kunna vara att webbhotellen ger oss ett konto på deras webbhotell så att vi själva kan sköta klienten och ha officiella siffror från de webbhotellen. Låter det intressant för din del(vi kommer troligen inte använda mer än 1MB utrymme per klient)?

Jag tror de flesta webbhotell gärna ställer upp med att sponsra er med ett webbhotell för detta.

Jag tror även idén med reklam inte är rätt väg att gå... Jag tror det är bättre att jaga sponsorer, och jag är rätt säker på att flera av oss leverantörer mer än gärna hade ställt upp för att ro detta projektet i hamn.

PM:a mig om ni vill ha ett webbhotell att testa på, och om ni har några särskilda behov som ni tror att vi kan hjälpa er med.

Erik Stenman 2011-03-22 11:24

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398610)
Det test som ITisGood har skrivit testar operationer/s i MySQL. Jag kan tänka mig att vi implementerar liknande tester för cpu-prestanda, IO-prestanda osv.

Att testa antal req/s i ett cms är så klart intressant också, men det är så många parametrar som man måste ta hänsyn till. Det är många inställningar som påverkar hastigheten av systemet. En installation av wordpress skiljer sig ganska mycket från en annan, med den stora mängd plugins det finns. Bara det att ändra på permalänkarnas struktur kan påverka prestandan i wordpress enormt. http://comox.textdrive.com/pipermail...ry/011097.html

Precis, instämmer i att vi bör undvika CMS:er pga alla plugins som kan dra ner prestandan. Alternativt ett seperat testmoment för olika CMS:er där användaren ombes stänga av plugins.

abergman 2011-03-22 11:27

Citat:

Ursprungligen postat av Erik Stenman (Inlägg 20398872)
Precis, instämmer i att vi bör undvika CMS:er pga alla plugins som kan dra ner prestandan. Alternativt ett seperat testmoment för olika CMS:er där användaren ombes stänga av plugins.

Om användaren kör testet i ett CMS kan man ju be modulen dra ut vilka moduler som används och skicka med det i resultatet? Så man tydligt taggar upp resultatet med vilket CMS och version samt vilka moduler som körs?

akelagercrantz 2011-03-22 12:11

Citat:

Ursprungligen postat av abergman (Inlägg 20398873)
Om användaren kör testet i ett CMS kan man ju be modulen dra ut vilka moduler som används och skicka med det i resultatet? Så man tydligt taggar upp resultatet med vilket CMS och version samt vilka moduler som körs?

Det blir ändå väldigt svårt att jämföra testdata, då man inte vet vilka moduler som påverkar prestandan, samt att det är massa andra faktorer som påverkar också.

Ett överhändande problem vi har om det är kunder till webbhotell som ombeds vara med i testet är att prestandan påverkas av kundens resursanvändning. Mätdata från en prestandakrävande e-shop med flera träffar i sekunden blir inte jämförbar med data från en sida med ett personligt cv som får någon träff per dag, även om de ligger på samma webhotell.

Om vi kan anta att fördelningen av applikationstyp är jämn över webbhotellen (dvs x = antalet kunder med e-shoppar / antalet kunder totalt, och x är ~ samma för varje webbhotell ) så kan ju ett webhotells genomsnitt jämföras med ett annats, men är det verkligen så?

Westman 2011-03-22 12:30

EDIT: Glöm det, hittade svaret i den andra tråden.

coredev 2011-03-22 12:46

Mycket intressant projekt! :-)

Men less is more till en början, se till att spendera tid på det viktiga. Få upp hela infrastrukturen med ett simpelt for-loop-test först. Lägg sedan på alla andra fräcka test.

MRDJ 2011-03-22 13:57

Citat:

Ursprungligen postat av akelagercrantz (Inlägg 20398880)
Det blir ändå väldigt svårt att jämföra testdata, då man inte vet vilka moduler som påverkar prestandan, samt att det är massa andra faktorer som påverkar också.

Ett överhändande problem vi har om det är kunder till webbhotell som ombeds vara med i testet är att prestandan påverkas av kundens resursanvändning. Mätdata från en prestandakrävande e-shop med flera träffar i sekunden blir inte jämförbar med data från en sida med ett personligt cv som får någon träff per dag, även om de ligger på samma webhotell.

Om vi kan anta att fördelningen av applikationstyp är jämn över webbhotellen (dvs x = antalet kunder med e-shoppar / antalet kunder totalt, och x är ~ samma för varje webbhotell ) så kan ju ett webhotells genomsnitt jämföras med ett annats, men är det verkligen så?

Jag kan till viss del hålla med dig,
Det jag funderade kring var att man kan optimera ett system på 1000 olika sätt, man kan sätta på cache i databasen, man kan köra APC och memcache i PHP, osv. det jag är rädd för är att om man kör testet och webbhotellet har optimerat sin server med diverse cache och det går supersnabbt, men att ett CMS gör helt andra typer av SQL-frågor vilket resulterar till en helt annan prestanda.

Kommer ni mäta I/O prestanda oxå?

pelmered 2011-03-22 14:58

Citat:

Ursprungligen postat av MRDJ (Inlägg 20398902)
Jag kan till viss del hålla med dig,
Det jag funderade kring var att man kan optimera ett system på 1000 olika sätt, man kan sätta på cache i databasen, man kan köra APC och memcache i PHP, osv. det jag är rädd för är att om man kör testet och webbhotellet har optimerat sin server med diverse cache och det går supersnabbt, men att ett CMS gör helt andra typer av SQL-frågor vilket resulterar till en helt annan prestanda.

Ja, det är klart man kan optimera för det. Men vi kommer ju att sträva efter att göra tester som på ett så bra sätt som möjligt speglar den prestandan man märker när man surfar runt på en sida.
APC eller någon OP Code-cache antar jag att de flesta kör och det är ju något som alla PHP-skript drar nytta av, men memcache är det inte många webbhotell som erbjuder. Querycache går ju att förhindra genom att slumpa fram data som ska användas i queryn så att inte resultatet kan cachas. Det sistnämnda är enklet att göra och finns redan implementerat i den första versionen jag gjorde.

Om vi gör bra test som faktiskt kan reflektera hur snabbt ett CMS kör och webbhotell optimerar efter vårt test så har vi ju vunnit väldigt mycket. Det är ju att sätta lite press på webbhotellen att erbjuda bra prestanda som vi vill uppnå med det här och ge webbmasters möjligheten att jämföra.

Citat:

Ursprungligen postat av MRDJ (Inlägg 20398902)
Kommer ni mäta I/O prestanda oxå?

Målet är väl att vi ska testa det mesta. Vad för slags I/O tänker du på?
Skriva/läsa filer är ju t.ex. ganska lätt att testa men att köra benchmarks hela webbsidor(simulera trafik) är nog lite svårare då det kräver väldigt mycket bandbredd vilket kostar lite för mycket.

BarateaU 2011-03-22 17:24

Varför inte ha en wordpres, joomla, drupal, osv själva testat, hur snabbt genererades och levererades sidan?

Detta kanske inte är praktiskt, men de vore relevant att få se hur lång tid de tar för wordpress sidan att genereras. Typ att man installerar 5 olika CMS verktyg hos hotellen som ett kompliment i benchmarken.
"Så här snabbt går Wordpress hos XX".

Apropå när vi snackar om att CMS systemen kan sega ner testet om man kör de i en widget, varför då inte låta själva CMS'en vara testet.
De borde på nått vis också återspegla verklig upplevelse.

Mättal från SQL'er är kanske inte så intressant i folks ögon förutom g33k's.

pelmered 2011-03-22 20:04

Citat:

Ursprungligen postat av BarateaU (Inlägg 20398934)
Varför inte ha en wordpres, joomla, drupal, osv själva testat, hur snabbt genererades och levererades sidan?

Detta kanske inte är praktiskt, men de vore relevant att få se hur lång tid de tar för wordpress sidan att genereras. Typ att man installerar 5 olika CMS verktyg hos hotellen som ett kompliment i benchmarken.
"Så här snabbt går Wordpress hos XX".

Apropå när vi snackar om att CMS systemen kan sega ner testet om man kör de i en widget, varför då inte låta själva CMS'en vara testet.
De borde på nått vis också återspegla verklig upplevelse.

Mättal från SQL'er är kanske inte så intressant i folks ögon förutom g33k's.

Nja, jag vet inte riktigt med det.
Jag tycker nog det räcker som det är nu. Generiska siffror är enkla att jämföra och hantera. Om ett webbhotell har bättre siffror så är det ju snabbare. Delar man upp alla siffror i massa kategorier så tror jag att kvaliteten på datan försämras ganska mycket. En Wordpress-installation skiljer sig väldigt mycket ifrån en annan så jag tror det är bättre med generella siffror som går att applicera på alla applikationer.

Det skulle kunna finnas ett par olika huvudkategorier där man får ett resultat i varje. Dessa skulle kunna t.ex. vara Läsning databas, skrivning databas, PHP/skriptprestanda, Fil I/O, osv.
Dessa värden viktar man sedan och räknar fram en slutpoäng. Man skulle kunna ha olika viktningar beroende på vilken CMS/applikation man vill köra. Detta blir ju såklart väldigt ungefärligt, men det är ju inga exakta siffror i något led så det är ju inget större problem tycker jag. Det kommer aldrig kunna bli exakt.

Danielos 2011-03-22 20:12

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20398961)
Nja, jag vet inte riktigt med det.
Jag tycker nog det räcker som det är nu. Generiska siffror är enkla att jämföra och hantera.

Fast ponera att vi har 2 hotell, ett med mycket bra generiska siffror och ett med sämre. Hotellet med sämre siffror genererar sidor mycket snabbare än det andra, vilket hotell skulle vara mest intressant för gemene man? Ja inte hotellet med bästa generiska siffrorna troligen.

Att testa en konkret applikation, cms wordpress osv, ger ett sammantaget värde som enskilda generiska siffror inte kan ge. Dvs bara för att ett hotell har bra i/o mot disk och bra fart mot databas behöver inte innebära att det fungerar bättre än ett annat hotell där memcache slots erbjuds som cachar mysql frågor samt xcache osv, osv.

Generiska siffror fungerar bara på generiska webbhotell, där allt är i princip samma, och så är det sällan. Dvs alla webbhotell kör inte xcache, apc eller memcache
Vidare skulle lastbalanserade hotell ge ganska dåliga värden, men prestera betydligt bättre i verkligheten.


Alla tider är GMT +2. Klockan är nu 07:25.

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