Azure Mobile App - How can a ping takes 7 seconds? - performance

I'm trying to improve my azure mobile app performance.
However just calling the web app root url (azure static "This mobile app is up and running" page) with fiddler can take up to 7 sec.
I'm lost how it's even possible and what I can and should do to improve it.
My current plan is B1 and "Always On" is On.
UPDATE
The long time where a combination of two things:
Long DNS Lookup
Log warmup of the mobile app after a deployment
Both issues can be addressed differently. For the warmup, check #arianhall answer below (which I marked as correct). For DNS lookup it can be many things. In my case the problem was broader: my ipv6 dns server was bad and it wouldn't switch to ipv4 after some timeout.
ps: and it's not a ping I was doing but a webpage load as azurewebsites don't accept ping anyway.

Irrespective of whether AlwaysOn is on or not, the first request after a deployment results in a "wake-up" cost. To fix that, you need to warm up the site. This blog post will describe how to do this: http://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/

Related

How to check how many DNS requests my squid server makes?

I'm using Squid 3.5 on windows 2012 server and I want to know how many DNS requests my server makes.
Some more details:
I suspect it makes a dns query on every request and produces a slightly added latency that could be avoided.
Is there any means of finding out this info? I have tried squidclient mgr:5min and it shows how long dns requests take on average, but doesn't show the count.
My dns.median_svc_time reads 0.025624 seconds, and it's fine as long as it caches those responses, but if it's 25 msec added to every request, then this is totally unacceptable.
Yes, squid should be able to give you the info you want via cache manager. It provides FQDN stats and a full IP Cache summary (Which I suspect is more what your looking for)
Have a look at the docs here for the fqdn info and here for the full ipcache details, it gives details of what they both mean/provide.
You access these via;
http://localhost/cgi-bin/cachemgr.cgi?host=localhost&port=3128&user_name=&operation=fqdncache&auth=
http://localhost/cgi-bin/cachemgr.cgi?host=localhost&port=3128&user_name=&operation=ipcache&auth=

Website Load time - Is India based server responsible

My website has nearly all the traffic from India so I decided to go with an India based VPS because I was told that it would reduce the load time. Although it was costly than US based server I signed up for it. Now I am facing an issue that whenever I check the load time from pingdom or GTMetrix they give me more than 12 secs but when I visit from my office or home PC it takes very less time.
Do you think that pingdom and GTMetrix are giving wrong time because the isp they use to test is US based. Is there any way that I can find out the load time from my PC using my internet connection/ISP. Which I can download and install and which uses my internet connection to perform load test?
My server IP is 103.14.96.209 and
Domain is muthootfinance.com
Also If i ping it using cmd command the ping time is only 32secs but if I ping using online services like pingdom the ping time comes more than 300 secs. Please help me out.
It looks like the response times are much faster when pinging from an Indian machine (see here &vaction=ping&ping=start">http://cloudmonitor.ca.com/en/ping.php?vtt=1380725309&varghost=103.14.96.209&vhost=&vaction=ping&ping=start)

Network, improve connecting time

I noticed that the connecting time for my site is slower than for the other sites that I have tried. 100 - 200 ms.
I am referring to the connecting time on the Network tab (dns lookup, connecting,waiting, etc.)
How can I improve it? Is it just something that is controlled by my host (Webfaction) or can I change some settings? I am the only person on my site at this time. DNS lookup is fast, not sure if that's relevant.
Site opening slow for that there are so many reason or parameter affect.
Bandwidth on server.
traffic on Server in term of request with its data size.
some Network issue like DNS is resolving your query quite slow. (use 4.2.2.2 or 8.8.8.8 DNS server)
Last but not have much probability that some on attack on network of doing flooding.
my suggestion to verify your Server Bandwidth and new HTTP connections per second.
also look that some uploading or downloading is going on or not.

Alternative Host (by DNS?) for Web Server Failure Protection

I'm interested in having a second web host run a copy of my website, such that if my first host goes down, the traffic routes to the second host. Is this possible?
My guess would be to add additional nameservers beyond the first two.
I also suspect it's doable with no-ip.com, but I'm not clear on how that works, and if they would require me to leave my first host entirely?
See if your DNS provider will let you do round robbin DNS.
Basically, DNS queries will return more than one IP for your site. Try nslookup google.com to see how it might look.
There are loads of other ways to do geographical load balancing and failover (most are expensive though).
DNS Made Easy provides this service, which is called DNS Failover. For others looking:
http://www.dnsmadeeasy.com/s0306/price/dns.html

Redirect Traffic from NIC to Another NIC On Separate Networks While Using Remoting

The project I'm working on is to handle data capture from scan guns (Pocket PC 2003) and process this data on a host (Win XP) then into our inventory database on a separate server (Win 2000). This is all driven by the Remoting framework provided by MS and As Good As It Gets (http://gotcf.net). The application is complete enough for a general proof of concept with both the client and server working properly while in the emulator.
All is well until I began to test using actual scan guns. Due to security concerns, the scanners are on a separate network (for clarification the 10 network) than the server (the 15 network). My development machine has dual NIC connected to both networks and can communicate with both independently. However, I am having issues with my application receiving information from the 10 network using .Net Remoting, and then sending out information to the server on the 15 network via a third party app (Combination of ODBC, Btrieve, and OLE).
Is there anyway to process information from one network then update the server on another?
Any suggestions will be greatly appreciated!
Note: I'm not very familiar with networking, thus I may be calling it the wrong name but the gun IP's start with 10...* and the server IP's start with 15...*
So long as the computer's routing table is properly configured, you shouldn't have to worry about this from your application. So long as you're using the proper IP addresses, the networking stack should take care of delivering things to the right place.
You might want to check the output of "route print" (at least I think that was available on WinXp -- if not, someone else will likely post the correct command for XP soon). In any way, you should see what network destinations are configured for which interfaces. You'll need to make sure that the server's IP on the 15 network will properly route via the interface you want (ie. the lowest-cost matching destination/netmask lists your 15 interface).
The issue seems to stem from both the NIC cards not set up properly and a so far unresolved issue with the frameworks I've chosen.
To solve the NIC problem, the easiest solution I'd found had me clear the default gateway on the 10 network.
The other issue deals with recreating the remoting objects after they've been destroyed. I currently have to warm boot the scanner in order to re-connect to the host. In order to correct this issue I'm going to contact As Good As It Gets to see what their input is. Damn firewall

Resources