We are working on an application that serves request 24 * 7 and none of the request should be missed. This application is hosted on IIS in load balanced environment. Primary server group P1 and C1, while the back up servers to primary servers are P2 and C2. So, requests are sent in load balanced manner to P1 and C1. If both P1 and C1 go down, the P2 and C2 are up. We are trying to work on a strategy so none of our requests are missed. Plan is to bring primary servers P1 and C1 down so requests are forwarded to back up. Then bring the primary servers up and work on back up servers. My question around it is how to ensure that worker process serves the last request it receives before we bring the application down for primary servers. As mentioned earlier, the intention is to ensure none of the requests are missed
1
There are 1 best solutions below
Related Questions in IIS-7
- Wildcard SSL certificate with IIS webserver type Can it be used on Linux servers using Apache?
- Powershell script running fine when running locally but when hosted on IIS server it is showing empty output
- Getting this issue while trying to host flask application on IIS
- Not getting any output of a query when hosted site on IIS server but it is running fine on windows powershell
- ApplicationInitialization expected Url path format
- How to URL Rewrite in IIS to URL encode incoming requests that have unencoded characters?
- ASP.NET Core MVC and Web API on the same IIS server
- Remove-WebConfigurationProperty not removing file extension in request filtering section of IIS
- Using APPCMD to clear the set of custom error definitions
- windows server with IIS everytime upload a image need to set manually permission to full control to read the image with URL,
- Bind IIS to hostname (internal computer name)
- IIS7 url rewriting results in 500 internal server error
- SSL validation fails for w3wp inter-process requests
- How to disable direct access to web resources for ASP.NET MVC projectcs
- How to set CORS access-control-allow-origin = * on site?
Related Questions in W3WP
- Azure Function Crash w/ Relation to IBM.EntityFrameworkCore
- No System Diagnostic Debug output for W3WP Process
- W3wp thread is getting cancelled with exception "System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification"
- w3wp process web request urls seem to be held in memory and cause memory to grow indefinitely
- isschildwroteandexecuted marked as critical security issue
- how can I use w3wp to start SharePoint applications from command line?
- Why is IIS w3wp.exe spawning processes like netstat or nslookup, powershell, etc
- Perfview command trigger being executed incorrectly on threshold
- grpc service (.net5) can not be remote debugged due to missing w3wp
- What is meant by application is hosted within w3wp.exe (In-process) or application.exe/dotnet.exe(outofprocess) in hosting terms
- Attach to Process w3wp.exe not working for classic asp page
- how to monitoring cpu usage with counters all workers processes from some app pool in powershell
- APPCRASH in w3wp.exe process and KERNELBASE.DLL module
- saving word document as pdf using Interop results in COMException: command failed
- troubleshoot w3wp.exe process which I can't terminate
Related Questions in WORKER-PROCESS
- How to find out why IIS worker process hangs on "Starting"?
- How To dispose db connection before Gunicorn worker processes spawns in Python
- What is the best way to pass large amounts of data to a worker process?
- why IIS does not dispatch requests normally between worker processes?
- Setting up max worker process and queue length for .net core web api
- static variables in worker processors don't work properly?
- IIS slow multithreading
- Specific application in IIS taking is slow after worker process stops after ideal timeout. long time to serve
- IIS Server and Azure Server hang due to SQL CPU and memory high utilization and not able to process the request further
- Application pool worker process Idle Time-out Action: Suspend vs Terminate
- Application Pool Start Mode: OnDemand vs AlwaysRunning, which the best?
- APPCRASH in w3wp.exe process and KERNELBASE.DLL module
- Apache Busy worker thread increased to MaxRequestWorkers setting and getting error AH00286: server reached MaxRequestWorkers setting
- Worker Service looking for appsettings.json in System32 folder instead of local folder
- Getting IIS workerprocess from ApplicationHost.config
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
If you want to ensure that none of the requests are missed, you may be waiting a good long while--any requests in progress at the time the recycle occurs are serviced by the original AppPool. Depending on your site, some of those requests could be large files with very slow connections, which could take literally hours to finish. At some point you may just want to whack the connections and move on, knowing that the caller will refresh their page, reconnect, or whatever to get back to where they were.
In any case, you don't need multiple servers for this. IIS automatically (by default at least), drains requests from the old application instance while starting up the new one and sending new requests to that (during application updates). (Note however, that any requests to the new pool will likely stall for several seconds because the application is loading and initializing everything for the first time--this is normal and very difficult to avoid).
If you really do have multiple servers and want to switch request handling from one server to the other, you must have some kind of load balancing system in place, either a software load balancer such as Microsoft Network Load Balancing, or a hardware load balancer such as F5 Big-IP. In both of these situations, you have to somehow tell the load balancer to drain connections on the old application (or server) and route them to the new server. This may be done manually through their GUIs, or for an automated deployment system, will require integration with those systems.