fredag 25 oktober 2013

Snabba upp Maven nedladdning av pom-filer från Nexus

I dag reagerade jag över hur lång tid det tog för Maven att hämta hem pom-filer från Nexus. Okej att det går långsamt att ladda hem små filer, men varför är det så lång väntetid mellan varje fil?
Efter att ha sökt runt lite upptäckte jag att Nexus använder sig av något som kallas "Ordered Group Repositories". Vilken ordning dina repon ligger i påverkar prestandan en hel del, eftersom Maven börjar med att leta efter pom-filer i det översta repot, där efter det näst översta och så vidare.

I mitt testfall blev byggtiden mindre än hälften efter att ha flyttat runt ordningen på mina repon. Då vill jag poängtera att samtliga av mina repon är lokala och att Nexus-servern står i samma byggnad som jag befinner mig i. En reduktion från 6.5 minuter till 2-3.5 minuter är inte dåligt.

För att komma åt inställningen loggar du in på Nexus, trycker på repositories i vänsterkolumnen. Väljer din repository group i högerkolumnen och trycker där efter på fliken configuration.
Du kan nu dra i repon under "Ordered Group Repositories" för att flytta på dem.

I min mening är detta ett mycket dåligt designval. Delvis finns det ingen knapp som tydligt demonstrerar att repon kan flyttas upp och ner i listan. Det finns inte heller någon varningstext som påpekar att felaktig konfiguration har enorm inverkan på prestandan. Vad jag vet finns det inte heller något profilingverktyg som kan hjälpa dig att placera dina repon i rätt ordning.

Källor:
books.sonatype.com
siddesh-bg.blogspot.com


Inga kommentarer:

Skicka en kommentar