Vi har en webbapplikation som körs på vårt interna nätverk, och inte är åtkomlig via Internet. När vi sitter på nätverket fysiskt på kontoret funkar allt bra, men via VPN går allt oerhört segt. Det är en ASP.NET-applikation som skickar onödigt mycket viewstate-data till webbläsaren vid varje sidladdning, men att behöva vänta en halv minut på att sida ska hämtas är horribelt. Det går liksom inte.
Så: har ni tips på något bra program som kan analysera nätverkstrafiken som går ut från och kommer in till min dator?
Kanske också något program som kan mäta bandbredden mellan mig och en specifik server i vårt nätverk?
Är krypteringen i vpn-tunneln en faktor, eller är det försumbart?
Andra felsökningstips?
Slutligen: ja, vi arbetar på att få ner datamängden som skickas också - men även små requests som ett ajax-anrop (endast ett fåtal tecken i vardera riktning) kan ta 5-10 sekunder. :)
Jag tror snarare du är duglig så jag vet inte om jag tillför något nytt. ;)
Men mina erfarenheter är att roundtriptiden för en vpnanslutning kan vara hög. En orsak jag stött på är att min MTU för vpn-interfacet är för högt (1480-1500) vilket pga den extra headerinformationen som en VPN tillför gör att ALLA paket fragmenteras.
Om man ovanpå det har en tjock klient med flera sekventiella anrop för att bygga upp ex en webbsida, så tar det tid. Ett inte helt omöjligt exempel med RTT på 200-400ms, plus tid för ev riktigt arbete på servern, kanske 5-10 sekventiella anrop (en tjock klient mao) och ett gäng parallella, så är inte 5 sekunder omöjligt.
En ocachad (låg TTL på hostnamn) namnserver som tvingar klienten att göra namnuppslagningar lite hela tiden brukar också kunna sakta ner. Kanske inte applicerbart här?
Har du testat att köra klienten exklusivt på LAN och/eller WLAN? WLAN brukar kunna förvärra då fler paket försvinner/kastas.
Om du sänder filer (ftp/scp) över VPN, är hastigheten OK?
Enklaste kollen jag skulle börja med är att installera firebug/liveHTTP i firefox och se de exakta anropen och dess RTT.
Jag ska prova att lägga in alla hostnamn i hosts-filen i windows, och jag ska prova att lägga upp en stor fil på servern som jag kan flytta över nätverket.
Jag ska också testa med Firebug.
(Jag kan ju tyvärr inte testa detta från kontoret, utan måste göra det hemifrån, så jag måste be att få återkomma i ämnet.)
Jag ska också anstränga mig för att förstå resten av ditt inlägg. =)
Tack igen, och om det finns andra duglingar på forumet så är det fritt fram att fortsätta inlägga.
Hej!
Det är en ASP.NET-applikation som skickar onödigt mycket viewstate-data till webbläsaren vid varje sidladdning..
Mvh och tpf,
Reagerade mest på detta. Samt lite andra tricks från sidan, dock kan jag ju inget om ASP, men hoppas detta hjälper dig lite under tiden?
Increasing ASP.Net Performance
Avoid using viewstate for storing large objects.Disable it when you don’t need it. ViewState is used by the ASP.Net server controls so that they can retain their state after postback. ASP.NET serializes all objects,controls in the viewstate and transmits them in a hidden field to the client browser.
If it is not managed properly, viewstate can increase page size which in result increases network traffic. Also precious CPU cycles are used for serialization, deserialization of viewstate objects.You can disable viewstate if:
\* Your pages don’t do postback
\* Your controls are not bound to a data source or they don’t handle server events or their properties are set on each page postback
\* You recreate controls on every postback. You can disable viewstate in both web.config (Site Specific) or @Page directive (Page Specific).