wat werkt vertragend

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

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 »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

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 »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

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

28/03/2024 10:40:40
 
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.