Fototellertje

Gestart door janhendriks, januari 14, 2011, 18:58:11 PM

Vorige topic - Volgende topic

Gerard Troost

Citaat van: Hanno op januari 16, 2011, 22:15:10 PM
Ik kan me voorstellen dat het bekijken van veel foto's (tegelijk) een belasting voor een server is, maar dat is wat anders dan het ophogen van een tellertje, wat volgens mij een van de eenvoudigste computerbewerkingen is die er zijn. Ik ben benieuwd of er nu een verbetering merkbaar is, nu de teller uit staat.

Het bekijken (en dus ophalen van een foto van de hd van de server) is zeker een keer of 1000 zwaardere belastig als de query "update foto set teller=teller+1", die query zal hooguit een paar 1000ste seconde runnen. Als je er dan 4000 per kwartier hebt je nog nog steeds maar een heel erg kort bezig. Een keer alle Merels in mn werkgroeppagina oproepen = 1 minuut, of 1x de lijst met waarnemingen van een groot gebruiker oproepen of, nou ja enz. Ik heb op mn eigen site ook een tellertje staan, die bij elke pageview een paar records update. Maar zelfs op dagen met > 200.000 pageviews merk ik niets. Nu wil ik mijn websitetje niet vergelijken met waarneming, maar het servertje is ook niet te vergelijken met de hele serverstraat van wrn.nl ;)
Natuurlijk is het zo dat de fotos op andere disken staan als de database, maar de tabel fotos kan ook op een andere schijf gezet worden. (je kunt een TABLESPACE aan een tabel hangen)

Aanhakend bij de opmerking van Peter. Waarneming.nl is een community website en leeft van de waarnemingen van de hun members. Hoe meer discussie hoe beter!
Groet,
Gerard Troost
www.trektellen.org
www.twitter.com/migrations

www.twitter.com/trektellen

hiskodevries

nogmaals de foto ophalen en tonen allemaal geen probleem, die worden ook fors gecached
dat 'tellertje' staat in een heel simpel tabelletje met twee integers
integer 1 ; het fotonummer met een index hierop
integer 2 : de teller

als je door een foto scherm scrollt  wordt de teller gelezen en een update naar naar een tussenbestand weggeschreven
1 keer per kwartier werden in 1 transaktie alle updates tegelijk verwerkt
gedurende die update wordt de index op fototeller gelockt
iedereen die dan een foto bekijkt (dat kunnen wel een man of 30 tegelijk zijn) moet dan wachten op het lezen van het tellertje
Een database is ook maar een 'mens' en wil alles volgordelijk behandelen in zijn geheugen
zo`n geheugen is maar beperkt tot een aantal gb`s
de 'wachtenden' op de fototeller staan in het geheugen, ondertussen zijn nog een man of twintig waarnemingen aan het invoeren ( of nog erger updaten :))
een paar admins zijn waarnemingen / foto`s aan het checken ( dus ook updaten)
in een werkgroepscherm wordt een statistiek gedraaid om te zien hoeveel waarnemingen zijn ingevoerd
en een hoop volk zit door de schermen te browsen.
moet allemaal niet uitmaken, als je maar geduld hebt. Maar mensen hebben maar beperkt geduld en als het langer duurt dan 2 minuten om een waarneming in te voeren is het ook niet leuk meer.
kortom dan kun je beter maar even snijden in de niet core business
Heel veel tabellen worden nooit of vrijwel niet geupdate, daarbij doen zich ook vrijwel nooit wachtrijen voor
het zijn de tabellen die veel gemuteer worden

om een indruk te geven van de queries om 1 waarneming op het scherm te zetten [ met informatie afgekapt om veiligheidsredenen]
http://waarneming.nl/waarneming/view/51869228




[47.652ms] Total time used for queries
[7.973ms] SELECT "id","datum","tijdstip","aant
[1.072ms] SELECT "uniek_id","wrn_id","id","
[1.206ms] SELECT "id","wrn_id","volgnummer","
[1.251ms] SELECT "id","naam_nl","naam_eng","
[0.358ms] SELECT id, name_en FROM species_type
[1.71ms] SELECT COALESCE(
[0.381ms] SELECT "id","oms
[0.439ms] SELECT "id","dier
[0.467ms] SELECT desc_short FROM xxxxxxi WHERE
[0.445ms] SELECT
[0.415ms] SELECT name FROM xxxxxx
[0.774ms] SELECT naam_lat FROM xxx
[0.414ms] SELECT 1 FROM xxxxxxn
[1.104ms] SELECT "geb_nr","pro
[0.417ms] SELECT lan_cd
[1.265ms] SELECT user_role.id
[0.741ms] SELECT COALESCE(
[0.448ms] SELECT COALESCE(spe
[0.249ms] SELECT AsEWKT('0101
[0.331ms] SELECT name
[0.807ms] SELECT astext(
[0.491ms] SELECT COALESCE(spe
[0.427ms] SELECT COALESCE(speci
[1.499ms] SELECT "prov_nr","n
[1.333ms] SELECT "id","naam","e
[0.148ms] select 1 from u
[1.813ms] SELECT geb_nr,n
[0.911ms] SELECT type_acti
[0.239ms] SELECT "id","o
[0.196ms] SELECT "id","oms
[0.245ms] SELECT id_so
[0.411ms] select id from xxxxxx
[0.473ms] SELECT COALESCE(xxxxxs
[0.415ms] SELECT "id","token
[0.296ms] SELECT "id","oms","
[0.432ms] select id from x
[0.339ms] select iso_code f
[0.606ms] SELECT "id","wrn_id",
[0.327ms] SELECT "id","xxxx
[0.28ms] SELECT "t","soun
[12.531ms] select 'x' f
[0.701ms] select id,nam
[0.756ms] SELECT id, naam
[0.203ms] SELECT "id","token","id_language","
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Gerard Troost

Citaat van: hiskodevries op januari 17, 2011, 11:21:59 AM
nogmaals de foto ophalen en tonen allemaal geen probleem, die worden ook fors gecached
dat 'tellertje' staat in een heel simpel tabelletje met twee integers
integer 1 ; het fotonummer met een index hierop
integer 2 : de teller

als je door een foto scherm scrollt  wordt de teller gelezen en een update naar naar een tussenbestand weggeschreven
1 keer per kwartier werden in 1 transaktie alle updates tegelijk verwerkt

Ik geloof dat we wat technisch worden ;)

Het zijn maar 1.2 miljoen records. Dmv het tussentabelletje worden alle updates gegroepeerd. Dus bijv.

0. begin;
1. update fotos set teller=teller+temptabel.tempteller from temptabel where fotos.fotoid = temptabel.fotoid ;
2. truncate / delete temptabel;
3. commit;

mag echt nooit meer als een of twee seconden in beslag nemen. En die 30 mensen die dan toevallig in die ene seconde komen moeten maar ff hun gemak houden... Wat ook nog kan is create temp table creeren en daar de zooi in kopieren, voordat je gaat update.
Wellicht helpt een fkey op temptabel om de snelheid goed te krijgen (en debug eens via explain analyze)

Affijn, succes er mee.
Groet,
Gerard Troost
www.trektellen.org
www.twitter.com/migrations

www.twitter.com/trektellen

hiskodevries

gerard, je wordt idd erg technisch zoals je beschrijft gebeurde het ook natuurlijk, alleen maar 1 keer per 15 minuten. voorlopig blijft die uit.
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Botervlieg

Citaat van: hiskodevries op januari 17, 2011, 15:45:59 PM
alleen maar 1 keer per 15 minuten. voorlopig blijft die uit.

Hebben jullie zicht op welke momenten het vaak druk is?

Is het handig de teller een paar keer per dag maar te updaten alleen op momenten dat het meest rustig is?

Bijv rond etenstijd en 's nachts? (6u / 12u / 18u / 24u).

Oke de teller is dan realtime wat jammer is.
Maar dan kan de teller in elk geval blijven/terugkomen...?

hiskodevries

zeursnorren. zoals mijn collega al zei: laten we een random tellertje installeren die een willekeurig getal toont bij een foto dan is iedereen weer blij.
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Botervlieg

Citaat van: hiskodevries op januari 17, 2011, 16:02:47 PM
zeursnorren. zoals mijn collega al zei: laten we een random tellertje installeren die een willekeurig getal toont bij een foto dan is iedereen weer blij.

Lekker aardig.  :duim:

Overigens kan mij het tellertje weinig schelen. Probeerde alleen mee te denken naar een oplossing.
Zal me er in het vervolg buiten houden. Mijn excuus.

DuDe

Citaat van: hiskodevries op januari 17, 2011, 16:02:47 PM
zeursnorren. zoals mijn collega al zei: laten we een random tellertje installeren die een willekeurig getal toont bij een foto dan is iedereen weer blij.
Erg vervelend dat je een site hebt gebouwd die door de gebruikers serieus wordt genomen.........
Vriendelijke groet van Rineke Dedding en/of Axel Duivenvoorden

(Indien niet anders gemeld betreft het Axel...)

HPM

Citaat van: hiskodevries op januari 17, 2011, 16:02:47 PM
zeursnorren. zoals mijn collega al zei: laten we een random tellertje installeren die een willekeurig getal toont bij een foto dan is iedereen weer blij.

Dan moet je natuurlijk wel zorgen dat het telkens hoger is dan de vorige keer want anders beginnen ze weer te piepen.
Geen oplossing dus want dat komt dan op hetzelfde neer als een echte score.
Herman van der Meer

Ted van der Knaap

groet-je, Ted van der Knaap (always learning!)

hiskodevries

dat fototellertje is zo voorspelbaar als wat
zeldzaamheid 3000 tikken
modaal fotootje 100-500
foto in familie overzicht 100-1000
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

hiskodevries

ted verwijs je bij de poll ook even naar de sponsorpagina?
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

DuDe

Citaat van: hiskodevries op januari 17, 2011, 17:51:22 PM
dat fototellertje is zo voorspelbaar als wat
zeldzaamheid 3000 tikken
modaal fotootje 100-500
foto in familie overzicht 100-1000
Jouw antwoorden ook, maar daarom ben je nog wel belangrijk  ;)
Vriendelijke groet van Rineke Dedding en/of Axel Duivenvoorden

(Indien niet anders gemeld betreft het Axel...)

Ted van der Knaap

Citaat van: hiskodevries op januari 17, 2011, 18:18:30 PM
ted verwijs je bij de poll ook even naar de sponsorpagina?

Geregeld, met alle plezier!

hisko ik begrijp dat alles word gedaan om de serverbelasting te verminderen... ...kun je ook iets doen aan de ingevoerde wn van 1 vogel op 1 plek op 1 en dezelfde datum, 160 ingevoerde wn van een Rotskruiper lijkt me niets toe voegen aan de site Waarneming.nl maar neemt wel, meer dan 't fototellertje ws, veel ruimte in!( Op de DB-site of een andere Twitcherssite kán ik me de relevantie ervan voorstellen.  ;) )
groet-je, Ted van der Knaap (always learning!)

Gerard Troost

Citaat van: Ted van der Knaap op januari 17, 2011, 19:09:09 PM
hisko ik begrijp dat alles word gedaan om de serverbelasting te verminderen... ...kun je ook iets doen aan de ingevoerde wn van 1 vogel op 1 plek op 1 en dezelfde datum, 160 ingevoerde wn van een Rotskruiper lijkt me niets toe voegen aan de site Waarneming.nl maar neemt wel, meer dan 't fototellertje ws, veel ruimte in!( Op de DB-site of een andere Twitcherssite kán ik me de relevantie ervan voorstellen.  ;) )
KORT DOOR DE BOCHT MODUS: AAN

Als jij eens begin met het samenvoegen van onzinnige fotos tot 1 foto... Als er één niets mag zeggen over onzinnige zaken... 30542 fotos op 14716 waarnemingen  :rolleye:  :o
We weten nu wel dat je een Aalscholver en Bergeend (515 fotos) kan herkennen! En Buizerd zou zo ondertussen ook moeten lukken (871x)

KORT DOOR DE BOCHT MODUS: UIT

;)
Groet,
Gerard Troost
www.trektellen.org
www.twitter.com/migrations

www.twitter.com/trektellen

hiskodevries

geeft wel een beetje de verhoudingen weer 180 rotskruiper waaarneming worden bij elkaar 3 keer gemuteerd=540 mutaties in de db
30542 fotos die twee keer bekeken worden is >60000 mutaties
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Ted van der Knaap

Citaat van: gtroost op januari 17, 2011, 19:24:27 PM
Citaat van: Ted van der Knaap op januari 17, 2011, 19:09:09 PM
hisko ik begrijp dat alles word gedaan om de serverbelasting te verminderen... ...kun je ook iets doen aan de ingevoerde wn van 1 vogel op 1 plek op 1 en dezelfde datum, 160 ingevoerde wn van een Rotskruiper lijkt me niets toe voegen aan de site Waarneming.nl maar neemt wel, meer dan 't fototellertje ws, veel ruimte in!( Op de DB-site of een andere Twitcherssite kán ik me de relevantie ervan voorstellen.  ;) )
KORT DOOR DE BOCHT MODUS: AAN

Als jij eens begin met het samenvoegen van onzinnige fotos tot 1 foto... Als er één niets mag zeggen over onzinnige zaken... 30542 fotos op 14716 waarnemingen  :rolleye: :o
We weten nu wel dat je een Aalscholver en Bergeend (515 fotos) kan herkennen! En Buizerd zou zo ondertussen ook moeten lukken (871x)

KORT DOOR DE BOCHT MODUS: UIT

;)

Laat 'm maar uit Hisko... ...ik heb mijn privé-fototeller  ;)
groet-je, Ted van der Knaap (always learning!)