Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[MySQL] web applicatie optimaliseren

Pagina: 1
Acties:
  • 270 views

Verwijderd

Topicstarter
Ik ben bezig met het onderzoeken of we onze web applicatie kunnen optimaliseren wat betreft snelheid.
Na wat research ben ik begonnen om met http://www.jetprofiler.com onze applicatie te gaan monitoren.
Product demo: http://www.jetprofiler.com/tour/

Hiervoor het ik gegevens van 1 week monitoren op onze live server verzameld.

Mijn conclusie uit de monitor gegevens is dat we veel tijd verliezen in full table scans en het copieren naar tijdelijke tabbellen.
Dit blijkt wat mij betreft uit plaatje 1 en 2 hieronder. Plaatje 3,4,5 zijn de top 3 van de langzaamste queries.

Onze programmeur zegt dat er geen full table scans gebruikt worden, en dat ze niet snappen waarom deze applicatie dat aangeeft. Aangezien ik geen programmeur/database specialist ben kan ik de queries niet beoordelen.

Kan iemand op basis van deze gegevens zijn mening/advies geven?
Kan iemand op basis van de 3 langzaamste quries zeggen of er full table scan gebruikt worden ?
Hoe kan ik dit het beste aanpakken ?


Afbeeldingslocatie: http://data.imagup.com/5/1106564278.jpg
Afbeeldingslocatie: http://data.imagup.com/5/1106564353.jpg
Afbeeldingslocatie: http://data.imagup.com/5/1106564290.jpg
Afbeeldingslocatie: http://data.imagup.com/4/1106564302.jpg
Afbeeldingslocatie: http://data.imagup.com/6/1106564322.jpg

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:35

Creepy

Tactical Espionage Splatterer

Eeh, misschien een idee om iemand inschakelen die wel verstand heeft van databases? Als de query
code:
1
.... where iAdminId = '1883'

al een full table scan doen dan mist er simpelweg een index op iAdminId. Als je programmeur of je databaseman dit niet ziet dan mogen ze zich behoorlijk gaan schamen. Je screenshots laten precies zien waar het mis gaat, een beetje database man of programmeur moet hieruit kunnen halen wat er moet gebeuren om het sneller te krijgen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 29-11 12:11

MueR

Admin Devschuur® & Discord

is niet lief

Ik gok dat er MySQL gebruikt wordt? Dan zou je de manual eens door kunnen kijken. Table scans zijn niet altijd te vermijden, tenzij je heel specifiek gaat querien.

Veel kunnen we echter niet met deze plaatjes. Een overzicht van de database structuur, plus wat trage queries, zijn veel beter te debuggen dat grafiekjes die door een programma uitgepoept worden. Zonder een overzicht van de indexes die zijn aangelegd e.d. is het een hoop giswerk.

edit:
Aangezien Jetprofiler zegt enkel voor MySQL te werken, neem ik dat maar even aan en fix ik de titel even :P

[ Voor 10% gewijzigd door MueR op 09-12-2010 12:07 ]

Anyone who gets in between me and my morning coffee should be insecure.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-11 11:29

gorgi_19

Kruimeltjes zijn weer op :9

Weet je zeker dat de indexen goed staan?

Verder vermoed ik dat je MySQL gebruikt?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • NickM89
  • Registratie: November 2007
  • Laatst online: 13-12-2024
edit : Antwoord al gegeven

[ Voor 89% gewijzigd door NickM89 op 09-12-2010 12:07 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-11 11:29

gorgi_19

Kruimeltjes zijn weer op :9

metalme schreef op donderdag 09 december 2010 @ 12:07:
Zo ver mijn kennis strijkt kan ik je vertellen.

dit zijn geen FULL!! database scans.
meestal praat je dan over -> select * FROM [tabel_name] where naam = 'backupmaster'
:?
* betekent alleen dat je alle kolommen ophaalt, wil niet zeggen dat je een full table scan gebruikt. Dat betekent dat je per definitie alle rijen moet doorlopen voor je zoekactie.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Bedankt voor de eerste reactie. Natuurlijk wil snap ik dat je iemand anders in kunt huren, maar om een vertrouwensbreuk te verkomen. zou ik in eerste instantie graag wat goed onderbouwde informatie verzamelen waarmee ik het gesprek met hem en zijn baas aan kan gaan.

Dus als iemand mij kan helpen met 3 voorbeeld queries uit te werken om als voorbeeld te gebruiken zou ik dat zeer op prijs stellen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-11 11:29

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op donderdag 09 december 2010 @ 12:11:
Bedankt voor de eerste reactie. Natuurlijk wil snap ik dat je iemand anders in kunt huren, maar om een vertrouwensbreuk te verkomen. zou ik in eerste instantie graag wat goed onderbouwde informatie verzamelen waarmee ik het gesprek met hem en zijn baas aan kan gaan.

Dus als iemand mij kan helpen met 3 voorbeeld queries uit te werken om als voorbeeld te gebruiken zou ik dat zeer op prijs stellen.
Volgens mij heeft Creepy toch een vrij duidelijke oplossing gegeven? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 09 december 2010 @ 12:11:
Dus als iemand mij kan helpen met 3 voorbeeld queries uit te werken om als voorbeeld te gebruiken zou ik dat zeer op prijs stellen.
Koekoek 8)7
Kan iemand even...?

Begin eens met jezelf in de materie te verdiepen en als je dat niet wil/kunt dan zul je toch echt je klus moeten uitbesteden. We zitten hier niet om gratis en voor niks jouw werk te doen ;)

Verder heb je (o.a. van Creepy) een behoorlijke hint gehad; als je daar niks mee kunt dan moet je je écht gaan afvragen waarom jij met die klus bezig bent en niet iemand anders (en dat is niet lullig bedoeld, maar als je niet de aangewezen persoon bent dan is dat op z'n minst een fout van je baas/chef).

[ Voor 21% gewijzigd door RobIII op 09-12-2010 12:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
gorgi_19 schreef op donderdag 09 december 2010 @ 12:13:
[...]

Volgens mij heeft Creepy toch een vrij duidelijke oplossing gegeven? :)
Creepy schreef op donderdag 09 december 2010 @ 12:04:
Eeh, misschien een idee om iemand inschakelen die wel verstand heeft van databases? Als de query
code:
1
.... where iAdminId = '1883'

al een full table scan doen dan mist er simpelweg een index op iAdminId. Als je programmeur of je databaseman dit niet ziet dan mogen ze zich behoorlijk gaan schamen. Je screenshots laten precies zien waar het mis gaat, een beetje database man of programmeur moet hieruit kunnen halen wat er moet gebeuren om het sneller te krijgen.
Ik moet natuurlijk met een beetje meer informatie aankomen dat er geen index zit op iAdminId.
Als hij zegt dat dit wel zo is ben ik uitgepraat.

Waar kan ik dit uit opmaken ?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Door eens te beginnen zelf iets uit te puzzelen?

We gaan hier geen handjes vasthouden; sorry.

[ Voor 6% gewijzigd door RobIII op 09-12-2010 12:23 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.