Plans & Prices About us Contact Sign Up Log in

MTR - The Fastest Frog in the Pond

Sometimes when sprending a file, the upload seems to go on forever. This article shows how a user of Sprend can pinpoint the bottlenecks using the My Traceroute (MTR) tool. Here are the installation instructions for Mac, Windows and Linux. All comments made by a frog is marked in frog green.

Chopping and hopping

To start with some background, wouldn’t you like to know how a file is transferred across the Internet from your computer to sprend.com? You bet I would

  1. First, go to the sprend.com website. I am already having fun!
  2. Select one or more files from your computer.
  3. Click on the black button.
  4. The Sprend web application will now read the first megabyte of data from your computer’s hard drive. On a Mac, the hard drive is usually named Macintosh HD and it is not a hard drive but rather a set of interconnected memory chips. And fish?
  5. Now the 1 MB chunk of data is sent to sprend.com. The operating system, e.g. macOS or Windows, further divides this chunk into small IP packets, normally 1.5 KB in size, each containing a slice of file data and the destination address.
  6. Each IP packet is transferred to Sprend’s server computer through several routers. The packet hops from router to router to finally land at sprend.com. As long as there are hops, there is pilsener
  7. All the packets coming into sprend.com are reassembled into a file by the Debian Linux operating system which is forwarded to the Sprend server application. Which holds the secret sauce
  8. Sprend saves the file onto the server’s hard drive. And guess what? Sprend uses old-fashioned magnetic hard drives to store data! Hard drives can be larger than SSD disks and are cheaper per gigabyte of storage space. Good ol’ Sprend
Ibland när man sprendar en fil verkar det som om uppladdningen aldrig skall bli klar. Denna artikel visar hur en Sprendanvändare kan hitta flaskhalsarna i överföringen med hjälp av verktyget My Traceroute (MTR). Här finns installationsinstruktioner för Mac, Windows och Linux. Alla kommentarer yttrade av en groda är markerade i grodgrönt.

Hacka och hoppa

Om vi tar och börjar med lite bakgrund, vore det inte trevligt att få reda på hur en fil transporteras över Internet från din dator till sprend.com? Jomenvisst!

  1. Först, gå till sprend.com. Det är redan skoj!
  2. Välj en eller flera filer från din dator.
  3. Klicka på den svarta knappen .
  4. Sprends webbapplikation kommer nu att läsa in den första megabyten av data från din dators hårddisk. På en Mac heter hårddisken oftast Machintosh HD och det är inte ens en hårddisk utan en mängd av sammankopplade minnes-chips. Och fisk?
  5. Nu skickas den 1 MB stora biten till sprend.com. Operativsystemet, tex macOS eller Windows, kommer nu att dela in biten av data i små IP-paket, som normalt är 1,5 KB stora, där varje paket innehåller en liten del av filen samt vart datapaketet skall levereras.
  6. Varje IP-paket överförs till Sprends serverdator via ett antal routrar. Paketet hoppar från router till router för att slutligen landa hos sprend.com. Så länge det finns humle, finns det pilsner
  7. Alla paket som kommer in till sprend.com pusslas ihop till en fil igen, av operativsystem Debian Linux, och därefter vidarebefordras filen till Sprends serverapplikation.
  8. Sprend sparar ner filen på serverns hårddisk. Och i detta fall handlar det faktiskt om gamla klassiska magnetiska skivor som lagrar datat! Hårddiskar kan göras större än SSD-diskar och blir därför billigare per gigabyte av lagringsutrymme. Gamla goda Sprend

The very busy frog

I have a friend, MTR is his name and he is a frog. He is the quickest hopper in the pond. Yup that's me The pond is so big it encompasses the entire planet, and it is full of water lily pads (routers) to jump on. MTR loves to help out understanding why a transfer is slow. MTR pretends to carry packets across the Internet towards the destination sprend.com. Please, MTR, let us know how you do it!

  1. I start by taking one hop towards sprend.com, and then immediately I jump back to the start
  2. I take two hops, turn around, and return to the start
  3. I keep repeating that procedure until I've reached all the way to sprend.com and returned. There could be 10-20 hops before the destination is reached
  4. For every lap I note down the time in milliseconds

The whole procedure is typically repeated 600 times, which takes 10 minutes and makes it possible to calculate an average time for each step. Why go just part of the route and return? Because this is how we can find out which router is causing trouble, if any. Let’s learn more by checking out two examples.

From Stockholm to Stockholm!

Sprend's office is at The Park Coworking in Stockholm. Frogholm? Sprend’s server is also located in Stockholm, in the GleSYS data center. Many of our users are also located in Stockholm, which is good news for them since their files will need to travel a shorter distance. The table below shows the results of running MTR for 10 minutes from my MacBook, targeting the sprend.com production server.

Den mycket flitiga grodan

Jag har en grodkompis som heter MTR. Han är den kvickaste hopparen i dammen. Japp, det stämmer minsann Dammen är så stor att den sträcker sig över hela jordklotet, och den är full av näckrosblad (routrar) att hoppa på. MTR älskar att hjälpa till att förstå varför en överföring är långsam. MTR låtsas att bära paket över internet mot slutdestinationen sprend.com. Snälla MTR, berätta för oss hur du gör det!

  1. Jag börjar med ett hopp mot sprend.com, och sen hoppar jag direkt tillbaka till starten
  2. Sen tar jag två hopp, vänder om, och återvänder till starten
  3. Jag repeterar denna procedur tills jag nått hela vägen till sprend.com och återvänt. Det kan bli 10-20 hopp innan jag når slutdestinationen.
  4. För varje varv noterar jag ner tidsåtgången i millisekunder

Hela proceduren repeteras sedan 600 gånger, vilket tar 10 minuter, och gör det möjigt att beräkna en genomsnittstid för varje steg. Varför bara hoppa en del av rutten och sen återvända? På så sätt kan vi ta reda på vilken router som skapar eventuella fördröjningar. Låt oss titta på två exempel.

Från Stockholm till Stockholm!

Sprends kontor finns på The Park Coworking i Stockholm. Frogholm? Sprends server finns också i Stockholm, i GleSYS datorhall i Västberga. Många av våra användare finns också i Stockholm vilket innebär att deras filer inte behöver resa så långt. I tabellen nedan visas resultatet av att köra MTR i 10 minuter från min MacBook mot Sprends produktionsserver.

MTR
Start: 2024-03-13 16:02 (Swedish time)
No of cycles: 600 (10 minutes)
From: Sprend offices in Stockholm
To: sprend.com production server in Stockholm
MTR
Start: 2024-03-13 16:02 (Svensk tid)
Antal cykler: 600 (10 minuter)
Från: Sprends kontor i Stockholm
Till: Produktionsservern för sprend.com i Stockholm
Hop Address Organization Packet Loss % Average time, there and back
Hopp Adress Organisation Paketförlust % Genomsnittstid tur och retur
0 My MacBook Pro Sprend
1 172.16.0.1 The Park 0 % 4 ms
2 gw162.a137.corp.bahnhof.se Bahnhof 0 % 16 ms
3 sto-ste-dr2.sto-ste-dr3.bahnhof.net Bahnhof 0 % 9 ms
4 sto-ste-dr3.sto-cr3.bahnhof.net Bahnhof 1 % 5 ms
5 sto-cr1.sto4-er1.as8473.net Bahnhof 28 % 6 ms
6 be-13.cr2.sto2.se.portlane.net GleSYS 1 % 5 ms
7 be-2.pe3.sto1.se.portlane.net GleSYS 0 % 6 ms
8 eth-51-2.le1.sto1.se.portlane.net GleSYS 0 % 5 ms
9 eth-51-2.le3.sto1.se.portlane.net GleSYS 1 % 6 ms
10 www.sprend.com Sprend

The IP packets have to take 10 hops to reach sprend.com. The first part goes through the routers of the Internet Service Provider Bahnhof, and the second part through the backbone of GleSYS AB, finally landing in the data center where the sprend.com server is located.

In the column Packet Loss % we can see that very few packets are lost on the way to sprend.com. The only unexpected value is in hop 5 where we get 28 %. If that router drops so many packets how come the final loss is only 1% in hop 10? This may be because the router, sto-cr1.sto4-er1.as8473.net, is configured to prioritize real packets. MTR sends a kind of testing packets that the router can choose to ignore. The conclusion is that this is not a problem.

In the rightmost column we can see the average time for the packets to travel from the start, to each hop, and back. The average is measured on 600 attempts. We can see that the packets travel very fast from start to finish and back: Only 6 ms is needed for the full round-trip. In hop number 2 there is a slightly longer round-trip time, 16 ms. This is however not a problem since the delay is not present in the subsequent hops.

From Singapore to Stockholm

In this MTR run I wanted to try a longer distance with more hops so I logged into a computer provided by DigitalOcean in Singapore. The target computer is still the sprend.com server in Stockholm.

IP-paketen behöver 10 hopp för att nå sprend.com. De första hoppen sker genom routrar från Internetleverantören Bahnhof, och den andra delen går genom stomnätet som drivs av GleSYS AB. Till slut når paketen fram till datorhallen där Sprends server fysiskt är placerad.

I kolumnen med rubrikren Paketförlust % kan vi se att mycket få paket försvinner på vägen till sprend.com. Det enda oväntade värdet syns i hopp nr 5 där vi har en förlust på 28 %. Om nu den routern tappar så många paket hur kommer det sig att den totala förlusten, i hopp nr 10, endast är 1%? Detta kan bero på att routern, sto-cr1.sto4-er1.as8473.net, är konfigurerad att prioritera riktiga paket. MTR skickar en typ av testpaket som en router kan välja bort att hantera. Slutsatsen är att förlusten på 28% i hopp nr 5 inte är ett problem.

I den högraste kolumnen kan vi se genomsnittstiden för ett paket att ta sig från starten, till det hopp som anges i första kolumnen, och sedan tillbaka. Genomsnittet mäts över 600 försök. Vi kan se att paketen förflyttas mycket snabbt från start till slut och tillbaka: Endast 6 millisekunder behövs för tur- och returresan. I hopp nr 2 är genomsnittstiden lite längre, 16 ms. Detta är emellertid inte något problem eftersom fördröjningen inte ackumuleras i de följande hoppen.

Från Singapore till Stockholm

In denna körning av MTR ville jag prova ett längre fysiskt avstånd med fler hopp så jag loggade in på en dator i Singapore. Måldatorn är fortfarande Sprends produktionsserver i Stockholm.

MTR
Start: 2024-03-13 16:26 (Swedish time)
No of cycles: 600 (10 minutes)
From: DigitalOcean data center in Singapore
To: sprend.com production server in Stockholm
MTR
Start: 2024-03-13 16:26 (Svensk tid)
Antal cykler: 600 (10 minuter)
Från: DigitalOceans datorhall i Singapore
Till: Produktionsservern för sprend.com i Stockholm
Hop Address Organization Location Packet Loss % Average time, there and back
Hopp Adress Organisation Plats Paketförlust % Genomsnittstid tur och retur
0 A Linux virtual server En virtuell Linuxserver Digital Ocean Singapore
1 Not reported Digital Ocean Singapore 100 %
2 10.76.195.152 Digital Ocean Singapore 0 % 1 ms
3 143.198.252.6 Digital Ocean Singapore 0 % 0 ms
4 143.244.192.176 Digital Ocean Singapore 0 % 0 ms
5 143.244.224.230 Digital Ocean Singapore 0 % 1 ms
6 143.244.224.207 Digital Ocean Singapore 0 % 0 ms
7 snge-b5-link.ip.twelve99.net Arelion Singapore 88 % 96 ms
8 snge-b7-link.ip.twelve99.net Arelion Singapore 60 % 1 ms
9 mei-b5-link.ip.twelve99.net Arelion Marseille 0 % 151 ms
10 ffm-bb1-link.ip.twelve99.net Arelion Frankfurt 0 % 157 ms
11 ffm-b18-link.ip.twelve99.net Arelion Frogfurt 53 % 155 ms
12 glesys-ic-384552.ip.twelve99-cust.net Arelion ? 0 % 233 ms
13 be-13.cr2.cop1.dk.portlane.net GleSYS Copenhagen 0 % 187 ms
14 be-5.cr1.mal4.se.portlane.net GleSYS Malmö 3 % 165 ms
15 be-5.cr2.sto1.se.portlane.net GleSYS Stockholm 3 % 234 ms
16 be-1.pe4.sto1.se.portlane.net GleSYS Stockholm 4 % 256 ms
17 vl-3003.z3-26-05.sto1.se.portlane.net GleSYS Stockholm 0 % 250 ms
18 www.sprend.com Sprend Stockholm 1 % 250 ms

As expected there are more hops for our fantastic frog to take, 8 more of them. We start with the DigitalOcean infrastructure, hop over to international backbone provider Arelion, and end, as before, in the GleSYS network.

As in the previous example, the packet loss in hop 1, 7, 8, and 11 can be safely ignored. Those routers don’t really care about the test packets that MTR sends out. The main point is that only 1% has been lost in the last hop.

The Average Time column is more interesting now that our famous frog is travelling to the other end of the pond. The interesting hop is number 9, which has an average of 151 ms in round-trip time. In the subsequent hops this number is never lower indicating that this delay will be present when real files are sent. It also makes sense since in hop 9 the packets are travelling from Singapore to Marseille, a rather long geographic distance.

The next delay that accumulates towards sprend.com seems to be added in hop 15, with a round-trip time of 234 ms. The name of the router at hop no 14 indicates it is located in Malmö (be-5.cr1.mal4.se.portlane.net), and no 15 in Stockholm (be-5.cr2.sto1.se.portlane.net). That distance could (?) explain the longer time needed.

Conclusions

There are many more tests that we could/should run, from different parts of the world, highlighting different kinds of problems. We should also run the tests in the opposite direction since the return path may differ. We are going to add more examples to this article in time.

As a Sprend user you may download MTR and run it against sprend.com. Please also contact us so that we can run MTR in the opposite direction. Together we might be able to find out why your transfer is slow. Happy sprending!

Som förväntat behöver nu vår godmodiga groda göra fler hopp, närmare bestämt 8 fler hopp. Hoppandet startar i DigitalOceans infrastruktur, fortsätter i Arelions internationella stomnät, och slutar, som förut, i GleSYS:s nätverk.

Som i det första exempel kan paketförlusterna i hopp 1, 7, 8, och 11 utan vidare ignoreras. Dessa routrar bryr sig helt enkelt inte om de testpaket som MTR skickar ut. Det viktiga är att endast 1% av paketen har tappats bort när vi väl når sista hoppet.

Kolumnen med Genomsnittstid är intressantare nu när vår grymma groda reser till andra änden av dammen. Det mest intressanta hoppet är nummer 9 som har ett genomsnitt på 151 millisekunder. De följande hoppen tar aldrig mindre tid än så vilket indikerar att denna fördröjning kommer att finnas kvar när riktiga filer skickas. Den längre tidsåtgången är inte heller så konstig eftersom paketen i hopp nr 9 reser mellan Singapore och Marseille, vilket är ett ganska stort geografiskt avstånd.

Nästa fördröjning som ackumuleras hela vägen till sprend.com adderas i hopp nr 15, som har en tur/retur-tid på 234 ms. Namnet på routern i hopp 14 indikerar att den finnsi Malmö (be-5.cr1.mal4.se.portlane.net), och nr 15 i Stockholm (be-5.cr2.sto1.se.portlane.net). Det avståndet skulle kunna (?) förklara den större tidsåtgången.

Slutsatser

Det finns flera andra tester vi skulle kunna (eller borde) köra, från olika delar av världen som visar på olika typer av problem. Vi borde också köra testerna i den motsatta riktningen eftersom hemvägen kan skilja sig från ditvägen. Vi kommer att lägga till fler exempel till denna artikel framöver.

Som Sprendanvändare kan du ladda ner MTR och köra programmet mot sprend.com. Kontakta gärna oss så att vi kan köra MTR åt andra hållet. Tillsammans kan vi förhoppningsvis reda ut varför din överföring är långsam. Sprenda lugnt!

© Sprend 2023 Plans & Prices

Sprend Development
FAQ
About us
Company
Team
Blog
Jobs

Terms & privacy

support@sprend.com
+46 10 129 29 10