Azure Web Application Gateway performance with load test [closed] - visual-studio

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
I have a Visual Studio load test that runs through the pages on a website, but have experienced big differences in performance when using a load balancer. If I run the tests going straight to Web Server 1 bypassing the load balancer I get an average page load time of under 1 second for 100 users as an example. If I direct the same test at the load balancer with 2 web servers behind it then I get an average page load time of about 30seconds - it starts quick but then deteriorates. This is strange as I now have 2 web servers load balanced instead of using 1 direct so I expect to be able to increase load. I am testing this with Azure Web Application Gateway now, and Azure VMs. I have experienced the same problem previously with an NGinx setup, I thought it was due to that setup but now I find I have the same on Azure. Any thoughts would be great.

I had to completely disable the firewall to get the consistent performance. I also ran into other issues with the firewall, where it gave us max entity size errors from a security module and after discussing with Azure Support this entity size can not be configured so keeping the firewall would mean some large pages would no longer function and get this error. This happened even if all rules were disabled, I spent a lot of time experimenting with different rules on/off. The SQL injection rules didn't seem to like our ASP.NET web forms site. I have now simulated 1,000 concurrent users split between two test agents and the performance was good for our site, with average page load time well under a second.

Here are a list of things that helped me to improve the same situation:
Add non-SSL listener and use that (e.g. HTTP instead of HTTPS). Obviously this is not the advised solution but maybe that can give you a hint (offload SSL to the backend pool servers? Add more gateway instances?)
Disable WAF rules (slight improvement)
Disable WAF + Added more gateway instances (increased from 2 to 4 in my case) - SOLVED THE PROBLEM!

Related

Amazon cloud web application performance testing [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I am struggling to get through performance testing which are amazon cloud based web application. we are going to launch our application in amazon cloud soon and we are trying to run the performance / load testing. Basically, i am trying to get result of our application service request / response time when 10 / 25/ 100 / 225 users using it simultaneously and network load test. What kind of approach do i need to follow since i was in to manual testing so far! is there any tool, where i can run and monitor my service request / response time.
Thanks in advance!
Surya
JMeter is a common choice for this: http://jmeter.apache.org
You can either set it up to test from one or more local machines or you can actually run it on AWS itself - there's a nice summary here: https://stackoverflow.com/a/16619103/334402
I have done both in the past and there are pros and cons to both - basically running it from machines over regular internet connections means you are using 'real' access networks, as AWS will generally have dedicated networking between its Data Centers.
On the other hand, running JMeter in AWS allows you set it up to test from different regions and probably will allow you generate a much higher load (unless you have lots of real machines at your disposal).

How come that The response time is very different when calling the same action/page in different times of day? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
How come that The response time is very different when calling the same action/page in different times of day ? I'm working in an internal server where I'm the only one who uses the application (which doesn't work with internet connection)
I'm not connected to a network, and there is only one user who is running the app (which is me). It's a ASP site with a remote database
Once again, where are you going to start? You're seriously going to need to look at all aspects of the server that the application is on.
If you have a connected database then you'll need to look at whether:
the database is on a remote server - network issues can interfere quite heavily with your timings here.
the same server - if this is an instanced database you will need to take into account the performance impact of the service that is managing your database and all of the related aspects of that (e.g. do you have any kind of agents running background tasks for the database?).
Are you running a standalone database like Ms Access? - this may cause the least disruption in some ways but can be disastrous in others.
What type of web-application are you looking at?
A simple scripted non-managed IIS ASP site - Very little to manage via IIS here; no need to section off a pool for the application.
A full blown IIS managed application - IIS managed, passing of cookies, credentials etc (all takes slices of time).
If you are connected to a network, then...
How many users are on the network - Though every machine on the network may have a negligible impact on your application server or PC, there are definitely some that do, such as DNC servers and what have you; they need to gather network information for the successful management and running of the network as a whole. Your application server will also communicate with other servers to say things like: "Hi! I'm over here!".
Perhaps the most important question should be regarding your server(s):
What services are running - every service that runs on your server swallows time slices.
What services are not running on your server? - to keep your timings realistic should you stop any services or (more importantly) not?
What services are running on your database server? - just as important as your main application server, your database server needs time to furnish data to your application. If there are other services running on here then this can impact heavily on your time.
Please everyone, chip in here - there's just so much to take into account.
By not giving an adequate qualification for your task it's very difficult for anyone to give a wholly valid answer.

Clearing up misconceptions about amazon(EC2) and rackspace [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm friends with an owner of a small creative business (with multiple departments) and until now they have been using a dedicated server (via a 3rd party) for a lot of internal projects and they've been known to iframe a few small dev projects (like photo galleries, one page sites etc...) off and on for some of their clients (some with hi traffic sites).
They're looking to switch from the dedicated server to a cloud environment. The owner is enamored with amazon's cloud services, but still wanted some alternative options they also want the new environment to mirror the current one as much as possible (linux/centOS, PHP 5.3, mysql databases) but with the ability to scale when desired.
So the misconceptions I need cleared up and questions I have are:
1) I always assumed amazon's cloud service was more suitable for high end high traffic complex web application (Netflix, pinterest, instagram etc...) rather than the typical server use listed above. Is this correct?
2) Is it possible to mirror their current setup on amazon?
3) If number 1 is not true, but they instead chose rackspace, could they run heavy web apps like Netflix, pinterest, instagram on a rackspace cloud server if they ever decided to do something that advanced (is rackspace scaleable in the same way ec2 is)?
1) Amazon AWS is also suitable for this environment, or even smaller ones (they offer instances as small as "Micro", which are far less capable than what you are describing all the way up to GPU compute clusters).
2) Yes. That is a very common setup for an AWS-based solution. In fact, I recently migrated something similar from Rackspace to AWS.
3) #1 is true. However, you can certainly mix what runs on Rackspace and in the AWS cloud. Keep in mind latency and security issues if the two component solutions need to communicate with each other. Rackspace also has a cloud offering, but it is not as mature as Amazons.

web service client in GAE production is too slow [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 days ago.
Improve this question
I have a Java based web application that is hosted in google app engine. There is a simple web service call to the Amazon Product and Advertising API to look up for books when the user inputs a title. Everything runs fine on my local development environment. However, the web service call is annoyingly slow on production.
E.g. When I invoke the web service call in my dev environment, it takes about 3-4 seconds to get the response back. In production, the same call to the same API would take 15-16 seconds. There is no datastore activity involved at this moment, just a web service call and display the results.
I am pretty sure that this is not the initial load issues others are talking about regarding GAE in production. It has been consistently slow no matter if the load is warmed up. I have tried to search everywhere but nobody seems to be complaining about the same issue. Does anyone have any clue what this might be? Is there any good tool to tackle this kind of performance issue? Thank you!
Here is my update as of 01/23/2012:
I have identified the bottleneck - it takes about 10 seconds to get the port from Amazon Service (I was using SOAP based web service client). My solution is to use RESTful client and the performance is greatly improved. Now it only takes 1 sec to get the information back from Amazon.
The speed of response of Amazon APIs has nothing to do with the performance of GAE.
It's more likelly that Amazon throttles access to their APIs per IP. Since GAE is a shared service, having a set of common IPs, it might be that there are other apps on GAE calling Amazon contributing to delay. If this continues to be a problem then you might want to setup a proxy server somewhere (Amazon EC2?).

Switching to a VPS [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
Well, I know absolutely nothing about the subject, so I really need help.
I currently have a website running on google app-engine (Java) and I can't get it to what I want because of app engine's limitations (no full text search mainly). The traffic is low, never reached 15% of the free quota (around 1500 daily pageviews).
I also have 3 sites in drupal hosted in a shared hosting service, and this is giving me problems, because the server speed is awful. The sites are VERY low trafic, but load times are bad, and I might need to add more sites for some clients, so this will only get worse.
So, i'm planning to move all that to VPS. The question is, can I have 2 http servers running in the same VPS? because I will need Apache-php-drupal server and a java server (tomcat?).
I have really no idea on this, so any tip will be very helpful to me.
Thanks!
Yes you can. Your httpd and tomcat will be running on different ports on the same server
Some of the choices you have are
Forward a virtual directory of your httpd to the tomcat server (if you use one domain name)
Use URL based rules to forward the requests from the java app domain to the tomcat server

Resources