Primetime ISP speeds: LocalNet vs Bahnhof vs Elisa vs DNA

Scheduled Ookla speed tests, 8 Feb – 13 Oct 2026 · 20,622 server measurements over 242 days with data · times in Europe/Helsinki · all rates in decimal Mbps

This report tracks a long-running problem on a LocalNet (Local Loop Oy) 1000/1000 Mbps fiber connection in Kauhava: every evening, throughput toward most of the internet collapses and packet loss appears, degrading VoIP and remote work. Downloads from SuomiCom stay at line rate throughout: the bottleneck is upstream, not the access line.

Ookla speed tests run 9 times a day (7 before 20 August) against the same four Helsinki-area servers, from four sites behind identical routers:

  • LocalNet 1000/1000, Kauhava — the line in question
  • Elisa 1000/1000, Ylivieska — control, whole period
  • DNA 600/100, Espoo — control until 7 September (site decommissioned)
  • Bahnhof 1000/1000, Ylivieska — from 14 September, its first runs after the router swap; on the same access network as LocalNet

The short version (details in the timeline):

  • February: primetime download median 523 Mbps on a 1000 Mbps plan (318 at 21:15); 7.7% of primetime tests saw ≥1% packet loss.
  • Fixes in February–March restored download; from 9 April the congestion moved to upload at 21:15, until an unannounced fix on 19 June. July was nearly clean.
  • Since 9 August it is back and deepening in both directions: September's 21:15 median, 141 Mbps, is below February's; records keep falling, most recently on 11 October.
  • Elisa and DNA show no primetime degradation and essentially no packet loss; Bahnhof holds line rate at the median in every slot.
  • An independent SmokePing alert log agrees, dating the June fix to the day.
LocalNet primetime download, February / September
523 / 515 Mbps
median · worst 10% below 82 / 79 Mbps — on a 1,000 Mbps line
LocalNet primetime download, July
920 Mbps
median · worst 10% below 793 Mbps
LocalNet primetime tests with ≥1% packet loss
7.7%
Elisa and DNA: one test each (0.02%) over the whole period
Slowest LocalNet runs
4.7 / 1.6 Mbps
download 10 Feb 21:15, upload 26 Sep 20:15 — under 0.5% of plan

The evening dip, hour by hour

LocalNet (1000M)Bahnhof (1000M)Elisa (1000M)DNA (600M)
0%25%50%75%100%01:1507:1513:1517:1519:1521:1523:15LocalNet 62%
Median download over the full period (DNA until 7 September, Bahnhof from 14 September), as % of the subscribed rate — the honest way to compare a 600 Mbps plan with 1000 Mbps plans. The 20:15 and 22:15 slots, added on 20 August, have only regression evenings behind them and appear in the table only.
Table view — medians by slot (Mbps)
Median measured speed by daily test slot, all servers, full period (Bahnhof: since 14 Sep only; 20:15 and 22:15 slots exist only since 20 Aug — regression days only)
SlotLocalNet down (Mbps)Bahnhof down (Mbps)Elisa down (Mbps)DNA down (Mbps)LocalNet up (Mbps)Bahnhof up (Mbps)Elisa up (Mbps)DNA up (Mbps)
01:1592992992958393892678498
07:1592893294058593892679398
13:1592793193357793892678596
17:1592692893056493792678396
19:1591693093054593292679094
20:1536092992852025192676291
21:1562493092551986992678991
22:1536993092453026292675989
23:1592392892455193592678892

All four ISPs deliver ~92–97% of plan off-peak. At 21:15 LocalNet's median falls to 62.5% — and that's the median over the whole period, including the good months. DNA dips mildly (to 86.6%); Elisa barely moves, and Bahnhof's runs since 14 September are flat at ~93%.

Where the congestion sits

FebMarAprMayJunJulAugSepOctSuomiCom (Espoo)936938938938938938938938938DNA Welho (Helsinki)323350829760884902720228133Telia (Helsinki)356494883867902918737257143Elisa (Helsinki)390510878898911918851332179
LocalNet primetime download (19:15 & 21:15) by test server and month. (October: 1–12 October so far.)
Table view — median Mbps
LocalNet median download (Mbps) at 19:15 & 21:15 by test server and month
ServerFebMarAprMayJunJulAugSepOct
SuomiCom (Espoo)936938938938938938938938938
DNA Welho (Helsinki)323350829760884902720228133
Telia (Helsinki)356494883867902918737257143
Elisa (Helsinki)390510878898911918851332179

The tell: tests toward SuomiCom (Espoo) ran at ~937 Mbps in every month — the access line itself was never the problem. Congestion was in LocalNet's interconnects toward the rest of the internet (DNA Welho, Telia and Elisa directions), matching the ISP's own diagnosis of saturated upstream/metro capacity.

Eight months of primetime downloads, day by day

02505007501,000MarAprMayJunJulAugSepOctISP fixes doneCGNAT moved off“Phase 1” migrationLoss alerts collapseRegressionNew series
LocalNet, the 19:15 and 21:15 runs toward all four servers (2 slots × 4 servers = 8 measurements a day): daily median line, band spans best-to-worst run. Annotations mark ISP-side events from the support thread. (Gaps: no tests 13–18 August; the test client failed over the weekend of 12–13 September, so 12 September's runs are partial and 13 September has none; on 29 September it failed again at 19:15, so that day's point is the 21:15 runs alone.)
Table view — daily values (Mbps)
DateMedian MbpsMin MbpsMax Mbps
2026-02-087849927
2026-02-0925733935
2026-02-10915927
2026-02-1189168940
2026-02-1258554936
2026-02-13816353939
2026-02-14551204936
2026-02-15522166940
2026-02-16898144938
2026-02-1742197940
2026-02-18327213938
2026-02-1932672932
2026-02-20508188937
2026-02-21611144936
2026-02-22528256945
2026-02-23598387936
2026-02-24506282938
2026-02-25578280941
2026-02-26908323939
2026-02-2780879937
2026-02-28841124940
2026-03-01399149941
2026-03-02860251939
2026-03-03884225941
2026-03-04882336938
2026-03-05901152940
2026-03-06900196940
2026-03-07539278938
2026-03-08435161938
2026-03-09913241931
2026-03-10896259939
2026-03-11802259938
2026-03-12884345939
2026-03-13535273938
2026-03-14389120939
2026-03-15258107939
2026-03-16787431939
2026-03-17904604937
2026-03-18905197940
2026-03-19837185939
2026-03-20626298941
2026-03-21200112940
2026-03-2226356939
2026-03-23289156940
2026-03-24252183939
2026-03-25736282939
2026-03-26809202939
2026-03-27818302940
2026-03-28882288938
2026-03-29818283934
2026-03-30864298937
2026-03-31877171941
2026-04-0190098938
2026-04-02902298937
2026-04-03914858938
2026-04-04912796940
2026-04-05884351940
2026-04-06596118940
2026-04-07923847938
2026-04-08877127939
2026-04-09915266938
2026-04-10888403940
2026-04-11851510939
2026-04-12900495938
2026-04-13916520941
2026-04-14911239940
2026-04-15904207938
2026-04-16694158938
2026-04-17914210940
2026-04-18879772942
2026-04-19393259937
2026-04-20919366940
2026-04-21915740941
2026-04-22917884939
2026-04-23924832938
2026-04-24924834938
2026-04-25848613939
2026-04-26428278939
2026-04-27543324935
2026-04-28914225938
2026-04-29912827936
2026-04-30915889938
2026-05-01926896936
2026-05-02918714940
2026-05-03875139938
2026-05-04923300940
2026-05-05809266939
2026-05-06914330938
2026-05-07923542939
2026-05-08910373939
2026-05-09891170938
2026-05-10818126940
2026-05-11899384939
2026-05-12552133939
2026-05-1383066937
2026-05-14922463938
2026-05-15923773939
2026-05-16920669939
2026-05-17891592938
2026-05-18921674943
2026-05-19908734938
2026-05-20910661939
2026-05-21522263939
2026-05-22835292938
2026-05-23912595940
2026-05-24915377938
2026-05-25907693938
2026-05-26905599939
2026-05-27913322941
2026-05-28757167938
2026-05-29908412938
2026-05-30920717942
2026-05-31844222937
2026-06-01913330937
2026-06-02910390935
2026-06-03926722940
2026-06-04900403940
2026-06-05920241944
2026-06-06894601939
2026-06-07910788942
2026-06-08913207938
2026-06-09516189939
2026-06-10922231940
2026-06-11888182937
2026-06-12920557940
2026-06-13914243937
2026-06-14904207939
2026-06-15783617939
2026-06-16916723938
2026-06-17922804938
2026-06-18922906938
2026-06-19927911935
2026-06-20921898939
2026-06-21916578936
2026-06-22910243940
2026-06-23904222939
2026-06-24918789941
2026-06-25905231938
2026-06-26913636938
2026-06-27921893938
2026-06-28888372939
2026-06-29926589939
2026-06-30906296938
2026-07-01919908946
2026-07-02913479938
2026-07-03921883943
2026-07-04907580938
2026-07-05915400940
2026-07-06924902939
2026-07-07845495940
2026-07-08924879938
2026-07-09920835938
2026-07-10932902940
2026-07-11927898939
2026-07-12904444938
2026-07-13922898938
2026-07-14922898939
2026-07-15932912939
2026-07-16926870940
2026-07-17917882938
2026-07-18918892938
2026-07-20911894942
2026-07-21917621937
2026-07-22921860939
2026-07-23928896938
2026-07-24914838935
2026-07-25897611933
2026-07-26626295938
2026-07-27926233940
2026-07-28904494938
2026-07-29921913938
2026-07-30925905938
2026-07-31919848943
2026-08-01930904941
2026-08-02916854939
2026-08-03904530938
2026-08-04922872940
2026-08-05910345943
2026-08-06916327938
2026-08-07909414937
2026-08-08916881936
2026-08-09922138937
2026-08-10841137937
2026-08-11605118943
2026-08-19910296939
2026-08-20390120940
2026-08-21707337942
2026-08-2284363940
2026-08-23299135940
2026-08-24833183938
2026-08-25906179943
2026-08-26811159938
2026-08-27874123937
2026-08-28835252940
2026-08-29908445944
2026-08-3022073938
2026-08-31904128937
2026-09-01854283940
2026-09-02890192944
2026-09-03903117938
2026-09-0445761940
2026-09-05707248938
2026-09-0628788939
2026-09-07826437940
2026-09-08830100938
2026-09-0963667935
2026-09-10899138940
2026-09-1180081944
2026-09-1251593938
2026-09-1487681938
2026-09-1586669937
2026-09-1617065942
2026-09-1742963939
2026-09-1841386939
2026-09-19352174938
2026-09-20243106940
2026-09-2189273938
2026-09-2275587938
2026-09-2328580940
2026-09-2453269939
2026-09-25172116941
2026-09-26398128939
2026-09-2754958940
2026-09-2881362940
2026-09-2910156939
2026-09-3048198941
2026-10-01570138938
2026-10-0225566939
2026-10-0323362942
2026-10-0432559940
2026-10-0520676939
2026-10-0656074940
2026-10-07367125941
2026-10-0816275935
2026-10-0913353937
2026-10-10284135939
2026-10-119563939
2026-10-1272569939

February's median sat around 520 Mbps with the worst runs under 10 Mbps; recovery came stepwise after the mid-February fixes and the 23 March “Phase 1” migration, and in July the worst tenth of primetime runs stayed above 793 Mbps.

The regression since 9 August is still active and deepening. Most nights the collapse runs from 19:15 or 20:15 to 22:15, on the worst ones from 17:15; 11 October's daily primetime median of 95 Mbps is the lowest of any day with both slots tested since 10 February, ahead of 9 October's 133, and 4 October's 21:15 median of 65.9 Mbps the lowest since 10 February, just under 16 and 28 September's 66. The midday collapses of 8 and 10 September fall outside the two slots this chart plots.

The second bottleneck: upload at 21:15

02505007501,000MarAprMayJunJulAugSepOctUpload congestion beginsMostly recoveredRegressionNew series
LocalNet 21:15 upload toward all four servers (4 measurements a day): daily median line, band spans best-to-worst run.
Table view — daily values (Mbps)
DateMedian MbpsMin MbpsMax Mbps
2026-02-08884783936
2026-02-09898821941
2026-02-10502351604
2026-02-11911909925
2026-02-12921904931
2026-02-13933930937
2026-02-14926924939
2026-02-15926920935
2026-02-16928912937
2026-02-17925911932
2026-02-18931924934
2026-02-19667414935
2026-02-20927921931
2026-02-21927914934
2026-02-22929927938
2026-02-23929924935
2026-02-24930927939
2026-02-25927925936
2026-02-26929926938
2026-02-27912858931
2026-02-28928902934
2026-03-01930925937
2026-03-02928927938
2026-03-03930921934
2026-03-04931927937
2026-03-05930928938
2026-03-06932930938
2026-03-07929924938
2026-03-08927920935
2026-03-09926916934
2026-03-10930922933
2026-03-11927924931
2026-03-12927924939
2026-03-13928925930
2026-03-14930924938
2026-03-15928925936
2026-03-16930922937
2026-03-17926910941
2026-03-18928926935
2026-03-19930923936
2026-03-20932928933
2026-03-21923913929
2026-03-22900537929
2026-03-23930926932
2026-03-24931924942
2026-03-25934931934
2026-03-26929927934
2026-03-27932927938
2026-03-28931929935
2026-03-29928925939
2026-03-30930925934
2026-03-31929920935
2026-04-01929924932
2026-04-02930927941
2026-04-03934933937
2026-04-04931924932
2026-04-05931926938
2026-04-06931923934
2026-04-07930927931
2026-04-08910837932
2026-04-09385270916
2026-04-10448304937
2026-04-11692594935
2026-04-12440370938
2026-04-13622439936
2026-04-14317177937
2026-04-15234216938
2026-04-16274190938
2026-04-17263215938
2026-04-18873725937
2026-04-19252243936
2026-04-20472379937
2026-04-21644472938
2026-04-22902877938
2026-04-23847679938
2026-04-24849657937
2026-04-25611486938
2026-04-26290242933
2026-04-27319233937
2026-04-28269203935
2026-04-29922891938
2026-04-30937889946
2026-05-01937921938
2026-05-02742486938
2026-05-03161119937
2026-05-04442317938
2026-05-05372232938
2026-05-06448306938
2026-05-07603514938
2026-05-08453341938
2026-05-09288213936
2026-05-10230193935
2026-05-11388364936
2026-05-12251122938
2026-05-1310082914
2026-05-14378287937
2026-05-15798583938
2026-05-16846583938
2026-05-17440280938
2026-05-18803487934
2026-05-19693425938
2026-05-20695522929
2026-05-21347226938
2026-05-22476419928
2026-05-23462412936
2026-05-24453399937
2026-05-25765699938
2026-05-26490397937
2026-05-27349266938
2026-05-28275126930
2026-05-29373308938
2026-05-30531336938
2026-05-31247176938
2026-06-01308270938
2026-06-02432396938
2026-06-03746399938
2026-06-04521352907
2026-06-05291209938
2026-06-06652592938
2026-06-07678536938
2026-06-08216184935
2026-06-09430323938
2026-06-10344276936
2026-06-11204142936
2026-06-12624339938
2026-06-13380303938
2026-06-14203168938
2026-06-15392285938
2026-06-16717546938
2026-06-17494413936
2026-06-18938935943
2026-06-19938935945
2026-06-20938936946
2026-06-21484400933
2026-06-22230218938
2026-06-23234183928
2026-06-24897554937
2026-06-25337285937
2026-06-26775416941
2026-06-27937936944
2026-06-28318255938
2026-06-29625496936
2026-06-30315278939
2026-07-01937930940
2026-07-02530421939
2026-07-03806562938
2026-07-04540324938
2026-07-05302270937
2026-07-06930897938
2026-07-07480336939
2026-07-08926887939
2026-07-09935906945
2026-07-10938931945
2026-07-11938935946
2026-07-12366312937
2026-07-13868719938
2026-07-14938891943
2026-07-15938926946
2026-07-16937932938
2026-07-17935796945
2026-07-20864323937
2026-07-21420332939
2026-07-22757615938
2026-07-23936916939
2026-07-24842703931
2026-07-25658542937
2026-07-26178144934
2026-07-27445222938
2026-07-28459413936
2026-07-29936829942
2026-07-30906695942
2026-07-31766657938
2026-08-01936926940
2026-08-02696520936
2026-08-03449295938
2026-08-04802692938
2026-08-05280184939
2026-08-06310276938
2026-08-07405281935
2026-08-08707669937
2026-08-09173140938
2026-08-10146111938
2026-08-11130102935
2026-08-19339313937
2026-08-20129102939
2026-08-21318296938
2026-08-227355938
2026-08-23151117937
2026-08-24151107938
2026-08-25180146904
2026-08-26266174938
2026-08-27220162936
2026-08-28329217936
2026-08-29391333934
2026-08-308164937
2026-08-31160117938
2026-09-01226155938
2026-09-02324216934
2026-09-0312591937
2026-09-046261937
2026-09-05280232937
2026-09-06129116938
2026-09-07403320905
2026-09-08108107938
2026-09-097065853
2026-09-10201156937
2026-09-1110288936
2026-09-1211178939
2026-09-1410289939
2026-09-157975927
2026-09-166456897
2026-09-176764934
2026-09-1815296937
2026-09-19177156939
2026-09-2010989938
2026-09-219068938
2026-09-22149129914
2026-09-23134114938
2026-09-247265532
2026-09-25177150933
2026-09-26146124565
2026-09-277455931
2026-09-287151623
2026-09-2910078286
2026-09-3011599938
2026-10-01139129933
2026-10-0210172937
2026-10-037569938
2026-10-047262939
2026-10-058974888
2026-10-066258824
2026-10-07131120939
2026-10-0811084938
2026-10-097761905
2026-10-10244187937
2026-10-117962937
2026-10-129062938

Upload was clean while downloads were at their worst — then collapsed from 9 April, exactly as download recovered: the congestion moved rather than disappeared. That spring episode touched only the 21:15 slot; by 19:15 and 23:15 upload was back at ~938 Mbps.

The August regression hits upload across the whole evening, and on the worst nights the 21:15 daily median sits in the 60s: 62.0 Mbps on 6 October, the lowest of the dataset, then 62.5 and 64.3 on 4 and 16 September.

Month by month at the worst hour

LocalNetBahnhofElisaDNA
0%25%50%75%100%Feb32%Mar38%Apr82%May71%Jun82%Jul91%Aug54%Sep14%Oct10%
Median download at 21:15 as % of subscribed rate. (October: 1–12 October so far; DNA until 7 September, Bahnhof from 14 September.)
Table view — 21:15 download, median and p10 (Mbps)
Download at 21:15 (Mbps): monthly median and 10th percentile (Bahnhof: since 14 Sep only)
MonthLocalNet medianBahnhof medianElisa medianDNA medianLocalNet p10Bahnhof p10Elisa p10DNA p10
Feb318–91451067–886414
Mar383–921511170–901403
Apr825–918521245–900304
May714–919510195–896373
Jun825–928527252–903422
Jul914–930534566–918442
Aug537–928519128–908392
Sep14192992751268921914400
Oct95931931–63920916–

LocalNet climbs from 32% of plan in February to 91% in July, while Elisa (91–93%) and DNA (85–89%) barely change. The improvement is real, but even July doesn't reach the controls' consistency. August's regression drags the 21:15 median back to 54%, with the worst tenth below 128 Mbps. September sits lower still: a 21:15 median of 141 Mbps, 14% of plan, below even February, and October's first twelve evenings lower again (10%). Bahnhof's evenings since 14 September read 93%.

Packet loss — the original complaint

0%5%10%15%20%14.6%MarAprMayJunJulAugSepOct
Share of LocalNet tests each week reporting ≥1% packet loss (any time of day). A week joins the chart once it holds a full test day of loss readings (27), so the current week is omitted until then.
Table view — weekly loss
LocalNet weekly packet loss (tests with loss measurement)
WeekTests ≥1% lossMean lossMax loss
2026-02-0914.6%0.67%14.2%
2026-02-165.4%0.15%1.5%
2026-02-233.4%0.09%1.3%
2026-03-022.0%0.07%1.3%
2026-03-092.7%0.1%1.6%
2026-03-164.1%0.09%1.9%
2026-03-230.7%0.07%1.3%
2026-03-308.8%0.19%3.7%
2026-04-067.5%0.17%2.7%
2026-04-135.0%0.1%2.8%
2026-04-204.8%0.1%2.6%
2026-04-276.8%0.13%2.2%
2026-05-044.8%0.1%2.0%
2026-05-114.8%0.1%2.0%
2026-05-188.2%0.17%3.8%
2026-05-2510.9%0.21%3.4%
2026-06-017.5%0.15%2.5%
2026-06-086.2%0.11%2.2%
2026-06-153.4%0.08%2.5%
2026-06-220.0%0.03%0.6%
2026-06-294.1%0.1%1.7%
2026-07-062.7%0.05%1.8%
2026-07-131.7%0.03%1.3%
2026-07-202.1%0.06%1.5%
2026-07-270.7%0.04%1.3%
2026-08-034.1%0.09%1.5%
2026-08-102.3%0.07%1.0%
2026-08-174.2%0.12%1.61%
2026-08-242.1%0.07%1.22%
2026-08-312.6%0.1%1.75%
2026-09-077.7%0.22%9.13%
2026-09-146.7%0.19%1.8%
2026-09-215.9%0.36%23.33%
2026-09-286.0%0.16%1.79%
2026-10-053.2%0.16%2.38%
2026-10-126.1%0.18%1.9%

Loss follows the same arc as throughput: worst in February (peaking at 14.6% of tests, single runs up to 14.2% loss), tapering through spring, near-zero after late June, and up again since August — the week of 7 September, at 7.7% of tests, was the highest share since late May.

In the evenings the regression mostly shows up as lost throughput rather than lost packets: evening runs of the new series stayed at or below 1.8% loss while speeds collapsed, until the 20:15 upload failure on 26 September read 23.3%, above February's worst; only two evening runs have passed 1.8% since: 2.4% toward SuomiCom at 17:15 on 7 October, as that direction's upload fell to 312 Mbps, and 1.9% toward the Elisa server at 20:15 on 12 October, in a collapsed slot. The midday events of 8 and 10 September also carried loss — 9.1% toward SuomiCom on 8 September while that direction's upload collapsed, and 2.3% on the 10th. Across the whole period 4.86% of LocalNet tests saw ≥1% loss; Elisa and DNA logged one such test each (0.02%), Bahnhof none.

The alert log tells the same story

050100150200MarAprMayJunJulAugSepOct198170First full day“Phase 1” migrationLoss alerts collapseRegression
Time spent in a SmokePing “Loss” alert per day, in 5-minute probe slots, summed over the paths involving the LocalNet connection — independent latency monitoring from seven vantage points (complete local days only, 15 Mar – 12 Oct).
Table view — weekly alert counts
Time in alert per week, in 5-minute slots; raise counts kept for reference (complete local days, 15 Mar – 12 Oct; the first week is partial)
WeekLocalNet-related (slots)LocalNet-related (raised)All other (slots)
2026-03-0931292
2026-03-165684419
2026-03-2311310713
2026-03-3032831730
2026-04-062832459
2026-04-132552399
2026-04-20259239701
2026-04-2727125842
2026-05-0431430611
2026-05-11351318208
2026-05-18451420581
2026-05-2533531417
2026-06-012992898
2026-06-0842640920
2026-06-152322090
2026-06-2260571,484
2026-06-2992890
2026-07-0648466
2026-07-13696918
2026-07-2060609
2026-07-2783780
2026-08-03989342
2026-08-1022119536
2026-08-1722020394
2026-08-2422219732
2026-08-3126223441
2026-09-0740734237
2026-09-1456649021
2026-09-2153647515
2026-09-2854047012
2026-10-057105979
2026-10-1272621

A second, independent witness, measured as time in alert rather than alert counts, so sustained loss weighs what it lasted. LocalNet-related paths spent ~45 slots a day in alert until 18 June — the peak, 198 slots (16.5 hours), on 19 Mar — then fell off a cliff on 19 June: the same unannounced fix the speed tests see, dated to the day.

After the 9 August regression the time in alert tripled from July's ~10 to ~30 slots a day, bridging the 13–18 August speed-test gap and the 13 September client failure: the regression never paused. The worst days since the fix are 16 September, then 9, 11 and 8 October, then 25 September; 16 September's 170 slots (14 hours, 123 of them between 19:00 and 23:00) are second only to the March peak in the whole journal.

56% of the alert time falls between 19:00 and midnight. And 3,695 of the 7,897 alert episodes involve LocalNet's data center seen from vantage points outside the LocalNet line — the degradation is visible from the rest of the internet, not just from the customer's side.

In fairness to LocalNet: latency under load

0 ms100 ms200 ms300 ms400 msLocalNet10 msBahnhof18 msElisa134 msDNA347 ms
Median latency over the whole measurement period: idle (faint dot) vs during a download (solid dot). Bahnhof from 14 September; its idle latency stepped up about 5 ms on 24 September.
Table view — latency
Median latency: idle vs under load, full period, all servers (Bahnhof: since 14 Sep only)
ISPIdle (ms)Loaded, download (ms)Loaded, upload (ms)
LocalNet8.79.79.2
Bahnhof15.918.317.8
Elisa13.7134.114.4
DNA10.8346.830.6

Outside the congested hours LocalNet's connection is excellent: latency stays at ~10 ms even under full download load. Elisa's rises to ~134 ms and DNA's to ~347 ms under load (bufferbloat), which hurts interactive use during large transfers.

Bahnhof, counted from its first runs behind the EdgeRouter 4 on 14 September, adds only ~2.4 ms under load, where LocalNet adds ~1.0 ms — the only other line here without bufferbloat. Its higher absolute latency is path length, not network quality: until 24 September Bahnhof idled about 1.5 ms above LocalNet, which is what the roughly 100 km longer fibre path from Ylivieska to Helsinki costs at the speed of light in glass, and since that day about 5 ms more, consistent with a longer route on Bahnhof's side (see the timeline).

Side-by-side summary

LocalNetBahnhof †ElisaDNA ‡
Subscribed (down/up, Mbps)1000 / 10001000 / 10001000 / 1000600 / 100
Median download, all slots923 Mbps930 Mbps930 Mbps566 Mbps
Median upload, all slots936 Mbps926 Mbps785 Mbps96 Mbps
Median download, primetime893 Mbps930 Mbps927 Mbps531 Mbps
10th pct download, primetime167 Mbps921 Mbps905 Mbps423 Mbps
Tests with ≥1% packet loss4.86%0.0%0.02%0.02%
Median idle latency8.7 ms15.9 ms13.7 ms10.8 ms
Median loaded latency (down)9.7 ms18.3 ms134.1 ms346.8 ms
Measurements (server runs)7,0071,0226,9285,661

Timeline: complaint to (partial) resolution

From the support thread with LocalNet (“Pakettikatoa iltaisin”, Jun 2025 – Jun 2026) and from the measurement data.

2025-05-16
Evening packet loss on LocalNet first appears in the customer’s monitoring (SmokePing), daily 18–24.
2025-06-09
Issue reported to LocalNet: daily evening packet loss, VoIP quality degraded.
2025-08-11
Telia core team applies fixes; helps some customers, not all.
2025-10-30
Telia admits a metro device carrying part of LocalNet traffic is at its capacity limit.
2026-01-20
LocalNet opens direct peering with Microsoft; promises more routing capacity.
2026-02-07
Cron-driven speed tests begin (this dataset). Same weekend LocalNet brings up new FNE transit (AS47605); initially blackholes some routes.
2026-02-14
LocalNet: batch of fixes complete. Speeds start improving.
2026-03-02
LocalNet reports CGNAT customers (the largest traffic mass) moved off the congested path; more promised by the end of March.
2026-03-23
LocalNet: “Phase 1 complete” — bulk of traffic moved to another device. Interface upgrades still pending.
2026-04-09
Data: a new bottleneck — upload at 21:15 collapses on many evenings just as download recovers. Persists through June.
2026-06-19
Data and monitoring: loss alerts collapse overnight (time in alert ~45 slots a day → ~5) and primetime downloads hold near line rate. No announced change.
2026-08-09
Data: regression — heavy primetime congestion returns in both directions.
2026-08-19
New test series (JSON, one result per server). Bahnhof 1000/1000 at a second Ylivieska site joins as a fourth connection, behind an old router that caps it at 215–350 Mbps; those runs are excluded from its figures.
2026-08-20
Two extra evening slots (20:15, 22:15) added. They show the collapse spans 20:15–22:15 in both directions, 19:15 and 23:15 partially hit, SuomiCom at line rate throughout.
2026-08-23
Data: the evenings start swinging night to night. The window widens to 17:15–22:15 on 23 and 30 August, narrows back to 20:15–22:15 between, and 29 August is nearly calm; 30 August is the broadest evening and, at the time, the alert log’s worst day since the June fix.
2026-09-04
Data: the deepest 21:15 since February — about 65 Mbps down and up toward the congested directions — and the lowest daily 21:15 upload median of the dataset until 6 October.
2026-09-07
DNA control retired: the Espoo site was decommissioned (last run 07:15) and its SmokePing target removed.
2026-09-08
Data: congestion at midday on three weekdays running (8–10 September), for the first time hitting the SuomiCom direction too, with 9.1% packet loss on 8 September. 9 September becomes the alert log’s worst day since the June fix.
2026-09-12
Bahnhof site: the old Cisco router replaced with an EdgeRouter 4, matching the other sites. Its first runs behind it, on the evening of 14 September, are at line rate with ~13 ms loaded latency; Bahnhof’s figures count only runs from then on.
2026-09-13
Data: the speed-test client fails over the weekend (12 September’s evening runs partial, nothing until 14 September 17:15). The alert log bridges the gap and shows the evenings collapsing as usual; on 11 and 12 September even 23:15 had not recovered.
2026-09-15
Bahnhof site: the connection moves from CGNAT to a public IP; the changeover runs rough at midday, the evening runs are unaffected. LocalNet the same afternoon: a 15-minute burst of loss seen from all seven vantage points, outside any test slot.
2026-09-16
Data: the regression’s worst day. The collapse runs from 17:15 through 22:15, 20:15 nearly as deep as 21:15 and the 21:15 median the lowest since 10 February; the alert log records 170 five-minute slots (14 hours), second only to the March peak in the whole journal.
2026-09-17
Data: the pattern holds on the following nights, the weekend included: 17–23 September are hit from 19:15 (upload first; 21 September only lightly), in both directions through 22:15. On 18 and 19 September the last slot again fails to recover; 18 September’s roughly 310 Mbps toward the congested directions at 23:15 is the deepest last slot since February.
2026-09-24
Data: the collapse starts at 17:15, the deepest that slot has been since the new series began on 19 August, and the SuomiCom direction’s upload falls to 337 Mbps, its deepest evening dip until then, while its download holds line rate.
2026-09-24
Bahnhof site: by midday its idle latency sits about 5 ms higher toward all four servers, and SmokePing sees the same step; the delay added under load and the throughput are unchanged, which points to a longer path on Bahnhof’s side rather than congestion.
2026-09-25
Data: the collapse starts at 19:15, that slot’s deepest of the new series until then, and 23:15 again fails to recover. The alert log records 104 slots, at the time its second-worst day since the June fix.
2026-09-26
Data: at 20:15 upload fails almost completely toward three servers, SuomiCom included, and one run reports 23.3% packet loss, the highest reading of the dataset. SmokePing registers heavy loss from outside the line in the same minutes.
2026-09-28
Data: the 21:15 median, 66 Mbps, matches 16 September’s as the deepest since February; on 30 September 20:15 sinks deeper than that slot has been since it was added in August.
2026-10-04
Data: the collapse runs from 17:15 through 22:15, and 20:15 and 21:15 both dip just below their September lows, 21:15 to the lowest median since 10 February. On 6 October the 21:15 upload median is the lowest of the dataset.
2026-10-08
Data: two nights running the daily primetime median falls below 16 September’s, to 133 Mbps on 9 October, at the time the lowest of any day with both slots tested since February; that evening’s 19:15 is the slot’s deepest of the new series until then. The alert log ranks 9 and 8 October, at the time, second and third since the June fix, behind 16 September.
2026-10-11
Data: the collapse starts at 19:15, now that slot’s deepest of the dataset in both directions, and the daily primetime median of 95 Mbps is the lowest of any day with both slots tested since 10 February. The alert log ranks the day third since the June fix.

Method

From 7 February 2026, a cron job has run the Ookla Speedtest CLI seven times daily — at 01:15, 07:15, 13:15, 17:15, 19:15, 21:15 and 23:15 (Europe/Helsinki); since 20 August two extra evening slots at 20:15 and 22:15 make it nine. Each run tests first the LocalNet connection, then Elisa (+1 min), then DNA (+2 min; until 7 September), and since 19 August also Bahnhof (+3 min).

The connections are at different sites — LocalNet in Kauhava (KAU), Elisa in Ylivieska (PRY), DNA in Espoo (ESP; decommissioned on 7 September), Bahnhof at a second Ylivieska site (TPY) — behind identical customer equipment (Ubiquiti EdgeRouter 4, gigabit LAN) — Bahnhof since the 12 September router swap, with its first runs behind that router on 14 September (see the timeline). All test toward the same four fixed servers: SuomiCom (Espoo), DNA Welho, Telia and Elisa (all Helsinki). Differences in evening behavior therefore reflect the ISPs' networks, not the measurement setup; absolute idle latencies do differ with distance to Helsinki. LocalNet and Bahnhof are both delivered over the same open-access fibre network (Valokuitunen), which makes them the closest pair to compare and is why they sit side by side throughout.

The data comes in two series: the original text logs (8 February – 12 August, one file per run) and, after a 6-day pause, a new JSON series (from 19 August, one Ookla JSON result per server via speedtest -f json -b -s <id>). This report covers 8 February – 13 October 2026 (through the 07:15 runs that morning): 20,622 measurements; 33 scheduled runs in the old series produced no result (measurement-host gaps, e.g. 18–20 July) and are excluded, and the Ookla client failed over the weekend of 12–13 September: the 12 September evening runs are missing some servers, and no run completed between 13 September 07:15 and 14 September 17:15; on 29 September it failed again: no 19:15 runs, and at 20:15 only two LocalNet servers returned results. Bahnhof's 856 runs behind its old router (19 August – 12 September) are excluded from every figure; its series starts 14 September 19:15. The connection under test is identified from the ISP field reported by the test itself.

Subscribed rates: LocalNet 1000/1000, Elisa 1000/1000, DNA 600/100, Bahnhof 1000/1000 Mbps. Units: the old text logs report rates in mebibits per second (“Mibps”), while the JSON series reports bytes/s (decimal). All old-series rates have been converted ×1.048576, so every figure in this report is in decimal Mbps — the unit Ookla and the ISPs use. (The initial 19 August publication mistakenly read the old logs as decimal Mbps, understating all rates by ~4.9%; relative comparisons were unaffected.)

Packet loss isn't reported by every server/run (5,172 of 20,622 measurements lack it — most often toward the DNA Welho server); loss statistics use only tests that reported it. Latency figures are Ookla's idle and loaded (during transfer) measurements; for the JSON series the loaded figure is the IQM. All aggregates are medians unless noted, computed per measurement (server run).

The alert chart comes from a separate SmokePing mesh, independent of the speed tests; its master sits on a different line entirely — a second, separate Elisa connection at the Ylivieska PR site. Every 5 minutes it pings its targets from seven vantage points: Kauhava (behind the LocalNet line), Lappeenranta (on a DNA connection), Avaruus.net and Hetzner in Helsinki, AWS Stockholm, Linode London, and the master's own site. Targets include each site's router, the routers' uplink gateways, hosts in LocalNet's data center, and DNS infrastructure in Finland and abroad.

An edge-triggered Loss alert is raised when a target shows non-zero packet loss in two polling rounds within 30 minutes, and stays raised while the pattern keeps matching (pattern >0%,*4*,>0%, unchanged since June 2025; the target set is unchanged since 11 March 2026, apart from the dead data-center host described below, removed on 23 August, and the Espoo site's router, removed after that site was decommissioned on 7 September).

The chart measures time in alert. Raised/cleared events are paired into episodes per target and vantage; each day's value is the number of 5-minute probe slots those episodes cover, summed over the paths that involve the LocalNet connection — measured from Kauhava, targeting the Kauhava routers or their uplinks, or targeting LocalNet's data center from any vantage point. Alerts still open when the SmokePing service restarts never log a “cleared”, so episodes are closed at service boundaries. A journal export is taken whenever the exporting script runs, which leaves the journal's first and last calendar days partial; the series covers complete local days only (15 Mar – 12 Oct here), so no bar stands for a fraction of a day.

Two exclusions keep the series about congestion. Dead hosts: one data-center test host went silent on 5 April and has not returned, and the Espoo site's router went silent on 7 September when that site was decommissioned. A dead host sits in alert from every vantage until its target is removed, and re-raises after each service restart — an artifact, not congestion — so the data-center host is dropped entirely and the Espoo router from 7 September on. And an episode is attributed to the far end when its target is simultaneously in alert from two or more non-Kauhava vantages — a 10-hour nameserver outage elsewhere on 26 June is the far end's problem even when the Kauhava path also alerts on it. Such episodes count under “all other paths”.

Raised-alert counts remain in the table view for reference. The source is the SmokePing master's systemd journal, whose retention horizon is 14 March 2026 — the worse February period predates it and survives only in the complaint thread's counts.

Changelog

2026-08-19
Initial publication, covering 8 February – 12 August 2026.
2026-08-20

Fixed Mbps vs Mibps confusion: the old logs are in mebibits/s, so all rates are now decimal Mbps (~4.9% higher than first published; comparisons unaffected).

New JSON test series (from 19 August) incorporated; Bahnhof added as a fourth connection.

2026-08-22

The two new evening slots (20:15, 22:15) added to the slot table; the hourly chart keeps the original seven slots for comparability.

2026-08-23

Added the SmokePing alert dataset (the monitoring master's journal, from 14 March) and the alert chart, measured as time in alert in 5-minute slots; a dead test host and far-end outages excluded, raise counts kept in the table view.

Sections restructured for readability: short figcaptions describe each figure, the analysis sits in body prose.

Next day: the alert series trimmed to complete local days; the “Loss alerts collapse” marker moved to 19 June, the day the drop happens.

2026-09-05
Corrected: the 22 August slot was the deepest since 22 March, not since February.
2026-09-11
The Espoo router target is excluded from the alert series from 7 September, when the DNA site was decommissioned.
2026-09-14

Bahnhof's figures now count only runs from 14 September 19:15, behind its new router; its 856 router-capped runs are excluded from every figure.

The weekly loss chart omits weeks with fewer than a full test day of loss readings.

2026-09-17

Prose condensed: the lead fits beside the KPI tiles, chart sections keep only what the figure cannot show, the timeline carries the history and the Bahnhof section is folded into it; changelog entries split into one paragraph per change, quiet refreshes merged.

Latency analysis: the Bahnhof–LocalNet gap attributed to the longer fibre path from Ylivieska (about 1.5 ms at idle, matching the distance) plus a small amount of queuing under load, replacing wording that read as a ranking of the two networks.

2026-09-21

Bahnhof joins the hourly-profile and monthly 21:15 charts and their tables after a week of evenings behind its new router.

The connections are now ordered LocalNet, Bahnhof, Elisa, DNA throughout (the reason is in Method).

2026-09-28

The “Slowest LocalNet run” tile, which only ever measured downloads, now shows the slowest upload beside the slowest download.

Latency analysis: Bahnhof's step in idle latency on 24 September attributed to a longer route; its load figure is now given as the delay added over idle.

Changelog trimmed to changes in the report itself; data refreshes no longer get entries.

2026-10-03
The February primetime-download tile now shows September's median and worst tenth beside February's.
2026-10-10
Latency analysis: the loaded latencies and the delay each line adds under load are now the latency chart's own medians, so the prose and chart always agree; LocalNet's loaded latency reads ~10 ms, not ~9.
Last updated 13 October 2026, from the speed-test archive (txt series 8 Feb – 12 Aug; JSON series from 19 Aug), the SmokePing alert journal (14 Mar – 13 Oct) and the LocalNet support thread PDF. Data: kimmo.suominen.com/stuff/speed.