In Azure, I have two Ubuntu VMs running the same python bottle services under one Cloud Service.
The two VMs are set to be in the same Load-Balanced Set and are load-balanced in a Round-Robin fashion under that cloud service.
However, my problem is that each request takes 3~8 seconds to get to the underlying VM. (i.e. The load balancer is working, but it's very slow routing the requests.) I assume it's not normal, is it?
It seems that I can't even access the cloud service instance(load balancer) in Azure. Can anyone give me a hint where I might have set wrong and resulted in this?
Thanks!
Related
I'm taking my first foray into Azure Service Fabric using a cluster hosted in Azure. I've successfully deployed my cluster via ARM template, which includes the cluster manager resource, VMs for hosting Service Fabric, a Load Balancer, an IP Address and several storage accounts. I've successfully configured the certificate for the management interface and I've successfully written and deployed an application to my cluster. However, when I try to connect to my API via Postman (or even via browser, e.g. Chrome) the connection invariably times out and does not get a response. I've double checked all of my settings for the Load Balancer and traffic should be getting through since I've configured my load balancing rules using the same port for the front and back ends to use the same port for my API in Service Fabric. Can anyone provide me with some tips for how to troubleshoot this situation and find out where exactly the connection problem lies ?
To clarify, I've examined the documentation here, here and here
Have you tried logging in to one of your service fabric nodes via remote desktop and calling your API directly from the VM? I have found that if I can confirm it's working directly on a node, the issue likely lies within the LB or potentially an NSG.
I have two app services (web apps), running the same code, hosted in azure at.
web1.azurewebsites.net and web2.azurewebsites.net (and possibly webN.azurewebsites.net)
I want to have a single web address (for example https://web1.azurewebsites.net or just any web address) and a load balancer that shares the load between them from the incomming requests.
How do I set up this in Azure. I dont understand the terminology and the guides Ive found is old.
Ive managed to create a Load Balancer with a public (dynamic) IP, but I dont know what host name that would answer to, nor how to connected it to my app services)
Could anyone guide me, either just a tutorial (no generic links please), or some step by step instructions how to do it.
If you want to load balance multiple instances of the exact same app service, you can just scale out your app service plan to let Azure create the instances and do the load balancing for you.
If that doesn't work for your situation or you want to load balance across regions, use a Traffic Manager.
I have azure cloud service with 2 instance count small vm so any one could explain how it internally use instances?
Both instance running parallel or run second instance when first one would go down.
Thanks in advance
They are both running in parallel. You should read about it on the Azure Docs: https://learn.microsoft.com/en-us/azure/cloud-services/cloud-services-choose-me
edit: Cloud Services includes the load balancer in front of your web role instances automatically for external endpoints.
Both are running in parallel and each cloud service has one URL with a load balancer and it forwards the traffic to both instances.
We deployed a Node.js Azure Web App and defined a minimum of 2 instances (for scalability and high-availability).
It seems like the LB is balancing the load between the instances, but it doesn't react on instance error (crash) and seems to insist balancing the load between all the instances including the one which crashed.
Is there a way to set a fail-over mechanism for high-availability?
The load balancer used by Azure App Service will continue to send requests to individual web servers as long as the underlying virtual machines are up and running.
To workaround the issue you are running into, you can try configuring the "auto-heal" feature. If the scenario is that the app gets "stuck" in a permanently broken state, auto-heal rules can be configured to automatically restart the app.
More details on auto-heal here:
Auto-heal for Azure Web Sites
If I deploy a web app (formerly known as an Azure WebSite) to an App Hosting Plan in Azure with a couple of instances (scale = 2) will the load balancer in front of the instances care if any of the instances is unhealthy?
I'm troubleshooting an issue that sometimes causes my site to return an http 503 ~50% of the time. My thinking here is that one of two of my instances has failed but the load balancer hasn't noticed.
If the load balancer does care, what does it look for? I can't find anyway to specify a ping url, for instance.
Note: this question has nothing to do with Traffic Manager.
Yes, Azure Web Apps monitors the health of the workers by making internal requests to it and verifying that they're healthy.
However, we don't check status codes that the web app returns to user requests (like 500, etc) since that could easily be an app specific issue rather than a problem with the machine.
So the answer you're looking for is: We continuously test whether or not the instances (VMs) are healthy and take them down if they're not. However, those tests do not rely on error codes the customer's site returns