wat werkt vertragend

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Pagina: 1 2 3 volgende »

Ozzie PHP

Ozzie PHP

10/01/2013 23:25:00
Quote Anchor link
Hallo mensen,

Ik zou wel eens willen wat tijdens één pagina-aanroep vertragend werkt. Op het moment dat je een pagina-aanroep doet, welke factoren werken dan echt vertragend?

Ik weet dat je bijvoorbeeld niet te veel afzonderlijke css en javascript bestanden moet inladen, en ook niet te veel afzonderlijke images.

Maar wat ik bijvoorbeeld niet weet...

1) hoeveel database aanroepen kun je doen tijdens één pagina-aanroep zonder dat dit vertragend werkt? 1, 5, 10, 20, 100?

2) hoeveel bestanden kun je includen zonder dat dit vertragend werkt? Ik heb wel eens gehoord dat sommige frameworks 100'en bestanden includen?

Ik stel deze vraag vanwege o.a. de volgende reden. Ik heb nu een VPS en de bedoeling is dat daar uiteindelijk meerdere sites op gaan draaien.

Nu zit ik zomaar wat te brainstormen en heb ik het idee om bij iedere pagina-aanroep de domeinnaam (die ik uit de URL filter) door een database te halen en een aantal controles uit te voeren. Bijvoorbeeld of de betreffende website wel of niet geactiveerd is (stel dat een klant bijv. te laat betaalt dan kan ik de domeinnaam deactiveren). Maar ook bijv. om te kijken wat voor type website het is. Stel dat het bijv. een webshop is, dan moet ik andere routes inladen dan wanneer het een 'standaard' website is. Nu vraag ik me af of zo'n controle via de database erg belastend is. Als je dit bij iedere pagina-aanroep doet, zou dat dan vertragend werken? Ik kan ook na de 1e aanroep de gegevens in de Sessie zetten, zodat ik de controle slechts 1x keer per sessie hoef uit te voeren. Alleen ben ik dan wel verplicht om voor iedere pagina-request een sessie aan te maken. Hoe zouden jullie dat doen? Bij iedere pagina-aanroep de database raadplegen, of 1x per sessie maar dan wel altijd een sessie bestand moeten aanmaken?
 
PHP hulp

PHP hulp

12/05/2024 08:02:18
 
Erwin H

Erwin H

10/01/2013 23:31:15
Quote Anchor link
Ozzie PHP op 10/01/2013 23:25:00:
1) hoeveel database aanroepen kun je doen tijdens één pagina-aanroep zonder dat dit vertragend werkt? 1, 5, 10, 20, 100?

Met of zonder indexen op de juiste kolommen? Met of zonder complexe joins? Met of zonder subqueries? Met 10 records in de tabel, of 10.000.000? Begrijp je het punt?

En dan wat echt vertragend werkt, een cURL request uitvoeren.

Tja, je vraag is zo algemeen, daar is in feite geen antwoord op te geven.
 
Ozzie PHP

Ozzie PHP

10/01/2013 23:33:38
Quote Anchor link
Ja, ik snap wel wat je bedoelt. Maar stel dat de indexen goed staan en de queries redelijk simpel zijn (simpele SELECT queries) en de betreffende tabel is maximaal 2000 records?
 
Keizer Webdesign

Keizer Webdesign

10/01/2013 23:37:21
Quote Anchor link
Wat ook vertragend werkt is het aanroepen van afbeelding op een anderen website. Dat is hetzelfde als ik een xml wil in laden met php van een anderen site, dan duurt dat ook lang.
 
Ozzie PHP

Ozzie PHP

10/01/2013 23:58:58
Quote Anchor link
Iemand die meer duidelijkheid kan geven over database aanroepen?
 
Ward van der Put
Moderator

Ward van der Put

11/01/2013 08:09:57
Quote Anchor link
Ozzie PHP op 10/01/2013 23:33:38:
Maar stel dat de indexen goed staan en de queries redelijk simpel zijn (simpele SELECT queries) en de betreffende tabel is maximaal 2000 records?
Dan kun je 150 tot 400 queries per pagina uitvoeren, alleen heb je dat bij 2.000 records vermoedelijk niet nodig. Probeer wel je databases te normaliseren en je queries te optimaliseren (en dan kan ik me niet voorstellen dat je slechts simpele SELECTs hebt).

Het aantal includes is afhankelijk van de hardware (SSD-hosting is in de mode), het besturingssysteem, het bestandssysteem en de directorystructuur. Vanaf ongeveer 100 includes worden afnemende prestaties meetbaar, maar elke extra include is er natuurlijk altijd één meer.

Hier zijn nog wat optimalisaties mogelijk. Vanwege de aanvullende controles zijn include() and require() efficiënter dan include_once() and require_once(). Verder kun je beter volledige paden gebruiken dan relatieve paden (omdat die opgelost moeten worden).

Leuke benchmarks voor van die typische PHP-vragen:

http://www.blueshoes.org/phpBench.php
 
No One

No One

11/01/2013 09:02:14
Quote Anchor link
@Ward en ik maar denken dat ik met mijn servertje met SSD schijven een vreemde eend in de bijt zou zijn :P
 
Ozzie PHP

Ozzie PHP

11/01/2013 13:19:22
Quote Anchor link
Ward, dankjewel voor je reactie!

150 tot 400 queries? Kijk daar heb ik wat aan. Zoveel queries zou ik nooit uitvoeren in 1 pagina-aanroep. Maar ik was vooral erg benieuwd. Toen ik net begon met programmeren, werd er altijd geroepen dat je zo weinig mogelijk database aanroepen moest doen, omdat dat ten koste gaat van de performance. Dus ik had altijd het idee dat als je per pagina-aanroep de database 5 keer zou aanroepen, dat dat dan al vertragend zou gaan werken. Maar dat valt dus weer mee :)

Leuke link trouwens. Wat me opviel was dat bij de allerlaatste test is dat in een vergelijking === sneller is dan ==. Dat verbaast me eigenlijk wel, omdat er bij === toch een extra controle plaatsvindt (op type)? Iemand die dat kan verklaren?
 
Chris PHP

Chris PHP

11/01/2013 13:35:39
Quote Anchor link
@Ozzie,

Het klinkt mij logischer dat === sneller is dan ==. === is 100% exact hetzelfde, waar == niet gevoelig is voor bijvoorbeeld hoofdletters etc. Dus daar kan meer variatie inzitten, dan in een 100% vergelijking.

Bij === is het simpelweg wel of geen match
Bij == zijn meerdere mogelijkheden voor een match

Zie het als kleuren vergelijken.

bij === is groen gewoon groen en is snel te zien
bij == is het groen, maar kan ook licht groen zijn of donkergroen waar dus meer mogelijkheden zijn en dus meer tijd kost.
 
Ward van der Put
Moderator

Ward van der Put

11/01/2013 13:50:21
Quote Anchor link
De meest plausibele verklaring is inderdaad dat type-vergelijkingen sneller zijn dan type-conversies die achter de schermen nodig zijn. De strikte gelijkheid === kan namelijk al direct een false gooien als de typen niet identiek zijn, zónder alle extra interne conversies en vergelijkingen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if ('1' == true) {
    echo 'Dit wordt uitgevoerd...';
}


if ('1' === true) {
    echo 'Dit wordt niet uitgevoerd...';
}



if (0x02 == '2') {
    echo 'Dit wordt ook weer uitgevoerd...';
}


if (0x02 === '2') {
    echo 'En dit weer niet...';
}

?>
Gewijzigd op 11/01/2013 13:51:38 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

11/01/2013 13:55:37
Quote Anchor link
Ah, dank jullie wel... als je het zo bekijkt is het inderdaad wel weer logisch.

Ik ging uit van het omgekeerde, namelijk

if (2 == 2)
Hier hoeft alleen gecontroleerd te worden of 2 gelijk is aan 2, en er hoeft niet gecontroleerd te worden of het type (in dit geval een int) hetzelfde is. Dat scheelt dus weer een controle. Zo heb ik het altijd gedacht.

Ik gebruikte dus bewust vaker == in plaats van === omdat ik dacht dat dat sneller zou zijn. Om er dus vandaag achter te komen dat het precies omgedraaid is... krijg nou wat :-)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/01/2013 18:28:02
Quote Anchor link
Ozzie PHP op 11/01/2013 13:19:22:
150 tot 400 queries? Kijk daar heb ik wat aan. Zoveel queries zou ik nooit uitvoeren in 1 pagina-aanroep. Maar ik was vooral erg benieuwd. Toen ik net begon met programmeren, werd er altijd geroepen dat je zo weinig mogelijk database aanroepen moest doen, omdat dat ten koste gaat van de performance. Dus ik had altijd het idee dat als je per pagina-aanroep de database 5 keer zou aanroepen, dat dat dan al vertragend zou gaan werken. Maar dat valt dus weer mee :)

Je moet er rekening mee houden dat elke database aanroep een client-server interactie is. Het gaat erom waarmee je het vergelijkt.
Regelmatig zie je dat er queries worden uitgevoerd in while lus op het resultaat uit een andere query, terwijl dit net zo makkelijk in 1 query kan.
Dan krijg je bv het verschil tussen 1 en 21 query's en dat spaart je dus 20 keer de client_server interactie uit.
 
Ozzie PHP

Ozzie PHP

11/01/2013 18:31:29
Quote Anchor link
Thanks voor je toelichting Ger.

Ik snap dat je altijd zo efficiënt moelijk moet omgaan met je code en met database aanroepen. Maar ik vroeg me dus af (zie het onderste stuk in mijn beginpost) of het vertragend werkt als ik bij iedere pagina-aanroep een controle uitvoer, óf dat ik beter 1x een aanroep kan doen en de resultaten opsla in een sessie. Dit laatste houdt dan wel in dat je altijd een sessiebestand moet aanmaken, ongeacht of iemand wel of niet is ingelogd. Wat heeft in dit specifieke geval jouw voorkeur?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/01/2013 19:12:14
Quote Anchor link
In jouw voorbeeld zou ik het combineren.
Dus als er gebruiker inlogt een sessie aanmaken, en op pagina's waar gebruikers specifieke gegevens getoond dan gewijzigd kunnen worden die controle uitvoeren.
Zo'n vertraging is hooguit een tiende seconde, dus imo te verwaarlozen.
 
Ozzie PHP

Ozzie PHP

11/01/2013 19:34:20
Quote Anchor link
Maar die controle heeft niet met de gebruiker te maken, maar bijvoorbeeld met het inladen van routes. Stel het is een webshop type xx site, dan moeten de routes voor webshop type xx worden ingeladen. Ik moet bij iedere pagina-aanroep weten wat voor soort website het is.. De vraag is dus of je dit het beste kan doen door bij iedere pagina-aanroep via de database te controleren wat voor site het is, óf dat je het 1x controleert en in sessie zet. Maar in dat laatste geval heb moet er dus wel altijd een sessiebestand worden aangemaakt (ongeacht of je die sessie nog ergens anders voor gebruikt).
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/01/2013 20:30:40
Quote Anchor link
Dan heb ik je niet helemaal goed begrepen.
Maar over het algemeen kan je stellen dat het werken met sessies sneller is dan werken met een database (hetgeen absoluut niet wil zeggen dat je de gehele database in een sessie moet zetten :-P), want sessies zijn op bestandsniveau.
 
Ozzie PHP

Ozzie PHP

11/01/2013 20:34:24
Quote Anchor link
Oké... dus jouw keus zou dan het werken met sessies zijn dus.
 
Niels K

Niels K

11/01/2013 21:00:03
Quote Anchor link
Aantal bezoekers heb ik nog niet gezien?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/01/2013 21:00:24
Quote Anchor link
Ja en nee.
Het is situatie afhankelijk.
Met andere woorden, er is op jouw algemene vraag geen algemeen antwoord mogelijk.
 
Niels K

Niels K

11/01/2013 21:05:47
Quote Anchor link
Dat klopt, maar wanneer je site / applicatie realiseert waar veel bezoekers verwacht word (Bijvoorbeeld een rebuild van een wat grotere site / webshop) moet daar van te voren wel rekening mee gehouden worden.

Dan kan je alle query's optimaliseren maar dan moet je toch andere technieken gaan toepassen. Of oneindig hardware / geheugen bij prikken. Dat is natuurlijk wel behoorlijk prijzig dus dan kom je al gauw weer uit op een systeempje met loadbalancers en een cachingplatform.

Snap je wat ik bedoel?
 
Ozzie PHP

Ozzie PHP

11/01/2013 21:11:54
Quote Anchor link
Ik snap wat je bedoelt Niels. De sites bestaan nog helemaal niet, dus de bezoekers ook niet :)
Het gaat er mij vooral om waar ik rekening mee moet houden. En in dit specifieke geval is mijn vraag:

Ik wil het type site bepalen zodat het systeem weet welke routes moeten worden ingeladen. Dit type is opgeslagen in de database. Is het nu het slimst om bij iedere pagina-aanroep het type op te halen uit de database, of is het slimmer om het eenmalig (per sessie) op te halen en op te slaan in een sessie? Dan hoef je dus niet bij iedere pagina-aanroep het type uit de database op te vragen, maar het betekent wel dat er altijd een sessie(bestand) wordt aangemaakt (zelfs als je in je applicatie nergens anders sessievariabelen zou gebruiken). Wat is dan de slimste optie? Iedere keer ophalen uit de database, of 1x ophalen en opslaan in sessie (maar dan dus wel altijd een sessie moeten aanmaken)?
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.