Mgsv Additional Option Slot
V7 has the “Configure” and the “Preferences” buttons to provide many configuration options.
As always, the default client settings are the recommended settings. If any change results in a problem, please revert back to the original setting.
I've been getting invaded a lot lately. I've never been playing while I get invaded, so I've never been able to defend my FOB. I havent had much experience with it since the FOB stuff was pretty much dead before the new patch came out. I've attempted to retaliate against the people who invaded me. I've never been given more than 7 minutes to reach the core of their FOB before failure. More color options base/emblems/weapons, preferably all the options available for the helicopter; or an RGB color picker. Ability to change the color of Snake's prosthetic. Bring back throwing bodies that you are carrying while running instead of stopping to place them, like in Ground Zeroes. Use the 'Additional Modification' slot. Since you can only select one option out of this slot, this makes it impossible to use some mods at the same time. For example, if I use a D15 Technical and add a mounted machine gun, I cannot add a Dummy to the driver's seat as both mods occupy the same slot which you can only select one or the other.
The Folding@home (FAH) client typically runs well using the default settings for most people. However, the client can be configured or customized in different ways. For example, one may choose the amount of computing resources donated to FAH, or change when to download the next work unit.
The v6 client was customized using command line switches (i.e. -flags). The latest FAH software (V7) has an improved graphical interface that offers a lot of configuration flexibility, but it also supports command line switches. Configuration changes, including switches, can have a significant impact on the FAH client, good or bad, so only make a change when absolutely sure of what the change will do. It is always better to read the FAQs and understand the settings than to crash the client with experimentation and corrupt work units which loses points.
V7 was designed to utilize multiple CPU cores with a multi-cored CPU slot (formerly SMP slot) and a GPU slot for each supported GPU. This configuration uses a lot more resources compared to using just a single CPU core. While CPU and GPU folding are much more scientifically productive compared to their single core CPU slot counterpart, they should not be run on machines which cannot tolerate heavy use. If FAH is using too much resources, please adjust the slot configurations to suit the computing needs. See the suggestions below. See also the Installation Guides for basic setup instructions. And help is always available on the Folding Support Forum.
Note: When participating in FAH, these “buttons and levers” at the client level can be used to adjust the contribution level. Many donors find that tuning the client and their machine configuration can sometimes optimize their contribution. Please use only the controls provided by the client and the operating system; do not modify the cores or FAH data in any way. Doing so is the equivalent of providing a tainted donation. When tainted donations are detected, awarded points may be zeroed, further donations blocked by the Servers, and/or additional actions taken to correct the situation. We greatly appreciate the contributions to Folding@home; please do not devalue the collective works by undermining the scientific results.
Listed below are some of the more common switches (flags) used for v6.xx and V7.x.x. The Installation Guides describe how to add these flags. The “Additional Parameters” setting in the v6 client makes it easier to add switches than by editing a shortcut to the client.
This section describes how to add or change a client or slot option, also known as a flag or a switch, such as forceasm or advmethods. This procedure assumes expert knowledge of the V7 Folding@home software, and familiarity with the list of the v6 to V7 flag changes.
The recommended procedure for adding or changing a client or slot option is through the FAHControl interface. Options can be set globally (for all slots) or set locally (for each slot). For example, all slots can fold for one specific team number, or each slot can fold for a different team number. Local (per slot) settings are configured on the Slots tab. Global (all slot) options are configured on the Expert tab. And many options work as either a local setting, or a global setting. As example, the client-type option with a value of advanced can be set for one slot, or all slots. But please be careful not to set both, as the resulting behavior may be unwanted.
Note: Options can be added manually by editing the FAHClient configuration file. However, this is risky as incorrect settings or typing mistakes may cause the current work unit to abort, the client to crash, or future points to be credited to someone other than you.
Click the FAHClient icon in the system tray. Select Advanced Control (aka FAHControl) (see figure 1).
The FAHControl interface is displayed (see figure 2).
Click the Configure button (on toolbar).
The Configure window and Identity tab are displayed by default (see figure 3).
Select the Expert tab.
On the Expert Tab, the Extra client options and Extra core options sections are shown (see figure 4).
Depending on the option to be changed, click the Add button in either the Extra client options section, or the Extra core options section.
Note: V7 options are typically set in the Extra client options section, while older fahcore options are set in the Extra core options section.
The Edit Options window, or the Edit Core Option window is displayed (see figure 5).
Extra client options <– Figure 5 –> Extra core options
For a Client Option, enter the Name of the option (flag or setting) to change. Enter the Value for that option. The example of Name: client-type with Value: advanced is shown (see figure 6 left).
For an Extra Core Option, which are older flags passed directly to the FAHCore, only that exact flag is entered. There is no option name to enter, only the flag value. The example -np 2 is shown (include the dash) (see figure 6 right). Not all Extra Core Options are supported by all FAHCore types, and unsupported flags will be ignored.
Extra client options <– Figure 6 –> Extra core options
Repeat as needed to add additional client or core options. Or click OK and then Save to save the changes and return to the main FAHControl screen.
Note: Depending on the option changed, FAHClient (system tray) may need to be closed (quit) and opened again for the option setting change to take affect. Additionally, the setting change may not take affect until the next work unit.
Click the FAHClient icon in the system tray. Select Advanced Control (aka FAHControl) (see figure 1).
The FAHControl interface is displayed (see figure 2).
Click the Configure button (on toolbar).
The Configure window and Identity tab are displayed by default (see figure 3).
Select the Slots tab.
The current Folding Slots are listed (see figure 4).
Select a Folding Slot to modify, and click the Edit button.
The Configure Folding Slot screen is displayed (see figure 5).
Click the Add button.
The Edit Options window is displayed (see figure 6).
Enter the Name of the option (flag or setting) to change. Enter the Value for that option. The example of Name: client-type with Value: advanced is shown (see figure 7).
Click OK.
Repeat as needed to add additional slot options, or click OK and then Save to save the changes and return to the main FAHControl screen.
Note: Depending on the option changed, FAHClient (system tray) may need to be closed (quit) and opened again for the option setting change to take affect. Additionally, the setting change may not take affect until the next work unit.
v6: -advmethods
V7: client-type advanced
Sets a client preference to request late stage beta work units if available. This is only a request for a specific type of work unit, and is never a guarantee the client will received this type of work unit. If none of these work units are available, and regular work unit will be downloaded instead.
This switch is not intended for machines where stability or usability are the primary concern (e.g. corporate or education environments). Its use may lead to the client running experimental projects, which may be less stable or much more complex. This setting is not recommended for a machine which is not constantly monitored. This setting may require more donor intervention. The availability of this class of WUs is based on the current projects that are running, so there is no guarantee the client will get these WUs. This setting has no affect on PPD. PPD for these WUs are benchmarked and set exactly the same as every other work unit. However, due to an occasional instability, the WU might fail, which results in lost points, so overall PPD might decrease.
When beginning new simulation projects, they are carefully rolled out using a Quality Assurance (QA) protocol which involves internal testing by members of Pande Group, then testing by the Beta Team, release under Advanced Methods, before a final full deployment across all of Folding@home. This gradual rollout is to prevent problematic WUs and software from getting released to the public and to allow donors to have some choice in terms of bleeding edge donations. The Advanced Method option tells the client to request WUs from projects which have past most — but not all — of their stability testing. Please use this option carefully, and report any problems you encounter to the appropriate section of the Folding Support Forum.
v6: -bigadv
V7: client-type bigadv
Sets a client preference to request extra large work units for multi-CPU socket class server systems. A minimum of 16 CPU cores is required for Assignment Server access, and to meet the extremely short deadlines. This is only a request for a specific type of work unit, and is never a guarantee the client will received this type of work unit. If none of these work units are available, and regular work unit will be downloaded instead.
In 2009, Dr. Kasson introduced a an experimental WU category called “bigadv”, intended for some of the most powerful computers participating in FAH. The initial core count requirement was 8 cores. Currently, bigadv WUs require a minimum of 16 CPU cores and have very tight completion deadlines, although that minimum requirement has been known to change over time. These WUs have a high scientific priority, and are so computationally demanding they could not run anywhere else on Folding@home. They also consume much more RAM and Internet bandwidth, but in return a 20% increase in point value was added on top of the existing Quick Return Bonus points system.
Note: BigAdv work units are only available to Linux operating systems at this time. However, Windows availability may return in the future.
- July 2009 – Experimental BA program introduction, with 8 core minimum
- July 2011 – BA points curve adjusted downward, 50% to 20% target
- January 2011 – Core minimum raised to 16, deadlines shortened.
- May 2014 – Core minimum raised to 24, deadlines shortened.
- January 2015 – BA Experiment scheduled to end.
This setting is typically used by the v6 client, and may be helpful to computers that are several years old. Big Work Units are typically larger in size in regard to upload size and RAM requirements. The Control Panel of the GUI-based v6 client offered an checkbox for these larger WUs. The command-line console v6 clients has “small”, “normal”, and “big” options which equate to expected file upload sizes of <5MB, 5-10MB, >5MB, respectively. This setting is not recommend for clients with dial-up modems, due to the large file sizes involved (and greater potential for transmission problems and WU loss). The availability of this class of WUs is based on the current projects that are running, so there is no guarantee the client will get these WUs.
All SMP WUs are hard coded to be considered Big WUs by the FAH client.
v6: not applicable
V7: next-unit-percentage XX
Sets the work unit percentage completed as to when the V7 client downloads the next Work Unit (WU) while the current WU is processing, where XX is between 90-100%. 99% is the default setting.
v6 and previous clients would finish a Work Unit (WU), upload it to the Work Server, then download a new WU, and begin processing. One of the best new features in the V7 client is the ability to concurrently download a new WU just before the current one completes, or while the current one uploads.
Very fast computers, or computers on a very fast internet connection will find that changing this setting to 100% is the best balance between points and performance. Remember the bonus clock starts ticking when the WU is downloaded, so if downloaded earlier than necessary to keep the computer folding, the bonus points clock starts ticking down.
v6: (the “prompt for connection” configuration setting is similar)
V7: pause-on-start true/false
Sets the V7 client to not begin processing work units when started.
By default, V7 will start automatically at system startup. Adding this setting will put client in to a paused state. The client must be started with the “Fold” button to resume processing or download new work.
-->When you deploy your web app, web app on Linux, mobile back end, or API app to Azure App Service, you can use a separate deployment slot instead of the default production slot when you're running in the Standard, Premium, or Isolated App Service plan tier. Deployment slots are live apps with their own host names. App content and configurations elements can be swapped between two deployment slots, including the production slot.
Deploying your application to a non-production slot has the following benefits:
- You can validate app changes in a staging deployment slot before swapping it with the production slot.
- Deploying an app to a slot first and swapping it into production makes sure that all instances of the slot are warmed up before being swapped into production. This eliminates downtime when you deploy your app. The traffic redirection is seamless, and no requests are dropped because of swap operations. You can automate this entire workflow by configuring auto swap when pre-swap validation isn't needed.
- After a swap, the slot with previously staged app now has the previous production app. If the changes swapped into the production slot aren't as you expect, you can perform the same swap immediately to get your 'last known good site' back.
Each App Service plan tier supports a different number of deployment slots. There's no additional charge for using deployment slots. To find out the number of slots your app's tier supports, see App Service limits.
To scale your app to a different tier, make sure that the target tier supports the number of slots your app already uses. For example, if your app has more than five slots, you can't scale it down to the Standard tier, because the Standard tier supports only five deployment slots.
Add a slot
The app must be running in the Standard, Premium, or Isolated tier in order for you to enable multiple deployment slots.
in the Azure portal, search for and select App Services and select your app.
In the left pane, select Deployment slots > Add Slot.
Note
If the app isn't already in the Standard, Premium, or Isolated tier, you receive a message that indicates the supported tiers for enabling staged publishing. At this point, you have the option to select Upgrade and go to the Scale tab of your app before continuing.
In the Add a slot dialog box, give the slot a name, and select whether to clone an app configuration from another deployment slot. Select Add to continue.
You can clone a configuration from any existing slot. Settings that can be cloned include app settings, connection strings, language framework versions, web sockets, HTTP version, and platform bitness.
After the slot is added, select Close to close the dialog box. The new slot is now shown on the Deployment slots page. By default, Traffic % is set to 0 for the new slot, with all customer traffic routed to the production slot.
Select the new deployment slot to open that slot's resource page.
The staging slot has a management page just like any other App Service app. You can change the slot's configuration. To remind you that you're viewing the deployment slot, the app name is shown as <app-name>/<slot-name>, and the app type is App Service (Slot). You can also see the slot as a separate app in your resource group, with the same designations.
Select the app URL on the slot's resource page. The deployment slot has its own host name and is also a live app. To limit public access to the deployment slot, see Azure App Service IP restrictions.
The new deployment slot has no content, even if you clone the settings from a different slot. For example, you can publish to this slot with Git. You can deploy to the slot from a different repository branch or a different repository.
What happens during a swap
Swap operation steps
When you swap two slots (usually from a staging slot into the production slot), App Service does the following to ensure that the target slot doesn't experience downtime:
Apply the following settings from the target slot (for example, the production slot) to all instances of the source slot:
- Slot-specific app settings and connection strings, if applicable.
- Continuous deployment settings, if enabled.
- App Service authentication settings, if enabled.
Any of these cases trigger all instances in the source slot to restart. During swap with preview, this marks the end of the first phase. The swap operation is paused, and you can validate that the source slot works correctly with the target slot's settings.
Wait for every instance in the source slot to complete its restart. If any instance fails to restart, the swap operation reverts all changes to the source slot and stops the operation.
If local cache is enabled, trigger local cache initialization by making an HTTP request to the application root ('/') on each instance of the source slot. Wait until each instance returns any HTTP response. Local cache initialization causes another restart on each instance.
If auto swap is enabled with custom warm-up, trigger Application Initiation by making an HTTP request to the application root ('/') on each instance of the source slot.
If
applicationInitialization
isn't specified, trigger an HTTP request to the application root of the source slot on each instance.If an instance returns any HTTP response, it's considered to be warmed up.
If all instances on the source slot are warmed up successfully, swap the two slots by switching the routing rules for the two slots. After this step, the target slot (for example, the production slot) has the app that's previously warmed up in the source slot.
Now that the source slot has the pre-swap app previously in the target slot, perform the same operation by applying all settings and restarting the instances.
At any point of the swap operation, all work of initializing the swapped apps happens on the source slot. The target slot remains online while the source slot is being prepared and warmed up, regardless of where the swap succeeds or fails. To swap a staging slot with the production slot, make sure that the production slot is always the target slot. This way, the swap operation doesn't affect your production app.
Which settings are swapped?
When you clone configuration from another deployment slot, the cloned configuration is editable. Some configuration elements follow the content across a swap (not slot specific), whereas other configuration elements stay in the same slot after a swap (slot specific). The following lists show the settings that change when you swap slots.
Settings that are swapped:
- General settings, such as framework version, 32/64-bit, web sockets
- App settings (can be configured to stick to a slot)
- Connection strings (can be configured to stick to a slot)
- Handler mappings
- Public certificates
- WebJobs content
- Hybrid connections *
- Service endpoints *
- Azure Content Delivery Network *
Features marked with an asterisk (*) are planned to be unswapped.
Settings that aren't swapped:
- Publishing endpoints
- Custom domain names
- Non-public certificates and TLS/SSL settings
- Scale settings
- WebJobs schedulers
- IP restrictions
- Always On
- Diagnostic settings
- Cross-origin resource sharing (CORS)
- Virtual network integration
Note
To make these settings swappable, add the app setting WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS
in every slot of the app and set its value to 0
or false
. These settings are either all swappable or not at all. You can’t make just some settings swappable and not the others.
Certain app settings that apply to unswapped settings are also not swapped. For example, since diagnostic settings are not swapped, related app settings like WEBSITE_HTTPLOGGING_RETENTION_DAYS
and DIAGNOSTICS_AZUREBLOBRETENTIONDAYS
are also not swapped, even if they don't show up as slot settings.
To configure an app setting or connection string to stick to a specific slot (not swapped), go to the Configuration page for that slot. Add or edit a setting, and then select deployment slot setting. Selecting this check box tells App Service that the setting is not swappable.
Swap two slots
You can swap deployment slots on your app's Deployment slots page and the Overview page. For technical details on the slot swap, see What happens during swap.
Important
Before you swap an app from a deployment slot into production, make sure that production is your target slot and that all settings in the source slot are configured exactly as you want to have them in production.
Mgsv Additional Option Slot No Deposit
To swap deployment slots:
Go to your app's Deployment slots page and select Swap.
The Swap dialog box shows settings in the selected source and target slots that will be changed.
Select the desired Source and Target slots. Usually, the target is the production slot. Also, select the Source Changes and Target Changes tabs and verify that the configuration changes are expected. When you're finished, you can swap the slots immediately by selecting Swap.
To see how your target slot would run with the new settings before the swap actually happens, don't select Swap, but follow the instructions in Swap with preview.
When you're finished, close the dialog box by selecting Close.
If you have any problems, see Troubleshoot swaps.
Swap with preview (multi-phase swap)
Before you swap into production as the target slot, validate that the app runs with the swapped settings. The source slot is also warmed up before the swap completion, which is desirable for mission-critical applications.
When you perform a swap with preview, App Service performs the same swap operation but pauses after the first step. You can then verify the result on the staging slot before completing the swap.
If you cancel the swap, App Service reapplies configuration elements to the source slot.
To swap with preview:
Follow the steps in Swap deployment slots but select Perform swap with preview.
The dialog box shows you how the configuration in the source slot changes in phase 1, and how the source and target slot change in phase 2.
When you're ready to start the swap, select Start Swap.
When phase 1 finishes, you're notified in the dialog box. Preview the swap in the source slot by going to
https://<app_name>-<source-slot-name>.azurewebsites.net
.When you're ready to complete the pending swap, select Complete Swap in Swap action and select Complete Swap.
To cancel a pending swap, select Cancel Swap instead.
When you're finished, close the dialog box by selecting Close.
If you have any problems, see Troubleshoot swaps.
To automate a multi-phase swap, see Automate with PowerShell.
Roll back a swap
If any errors occur in the target slot (for example, the production slot) after a slot swap, restore the slots to their pre-swap states by swapping the same two slots immediately.
Configure auto swap
Note
Auto swap isn't supported in web apps on Linux.
Mgsv Additional Option Slot Tokens
Auto swap streamlines Azure DevOps scenarios where you want to deploy your app continuously with zero cold starts and zero downtime for customers of the app. When auto swap is enabled from a slot into production, every time you push your code changes to that slot, App Service automatically swaps the app into production after it's warmed up in the source slot.
Note
Before you configure auto swap for the production slot, consider testing auto swap on a non-production target slot.
To configure auto swap:
Go to your app's resource page. Select Deployment slots > <desired source slot> > Configuration > General settings.
For Auto swap enabled, select On. Then select the desired target slot for Auto swap deployment slot, and select Save on the command bar.
Execute a code push to the source slot. Auto swap happens after a short time, and the update is reflected at your target slot's URL.
If you have any problems, see Troubleshoot swaps.
Specify custom warm-up
Some apps might require custom warm-up actions before the swap. The applicationInitialization
configuration element in web.config lets you specify custom initialization actions. The swap operation waits for this custom warm-up to finish before swapping with the target slot. Here's a sample web.config fragment.
For more information on customizing the applicationInitialization
element, see Most common deployment slot swap failures and how to fix them.
You can also customize the warm-up behavior with one or both of the following app settings:
WEBSITE_SWAP_WARMUP_PING_PATH
: The path to ping to warm up your site. Add this app setting by specifying a custom path that begins with a slash as the value. An example is/statuscheck
. The default value is/
.WEBSITE_SWAP_WARMUP_PING_STATUSES
: Valid HTTP response codes for the warm-up operation. Add this app setting with a comma-separated list of HTTP codes. An example is200,202
. If the returned status code isn't in the list, the warmup and swap operations are stopped. By default, all response codes are valid.
Note
The <applicationInitialization>
configuration element is part of each app start-up, whereas the two warm-up behavior app settings apply only to slot swaps.
If you have any problems, see Troubleshoot swaps.
Monitor a swap
If the swap operation takes a long time to complete, you can get information on the swap operation in the activity log.
On your app's resource page in the portal, in the left pane, select Activity log.
A swap operation appears in the log query as Swap Web App Slots
. You can expand it and select one of the suboperations or errors to see the details.
Route traffic
By default, all client requests to the app's production URL (http://<app_name>.azurewebsites.net
) are routed to the production slot. You can route a portion of the traffic to another slot. This feature is useful if you need user feedback for a new update, but you're not ready to release it to production.
Route production traffic automatically
To route production traffic automatically:
Go to your app's resource page and select Deployment slots.
In the Traffic % column of the slot you want to route to, specify a percentage (between 0 and 100) to represent the amount of total traffic you want to route. Select Save.
After the setting is saved, the specified percentage of clients is randomly routed to the non-production slot.
After a client is automatically routed to a specific slot, it's 'pinned' to that slot for the life of that client session. On the client browser, you can see which slot your session is pinned to by looking at the x-ms-routing-name
cookie in your HTTP headers. A request that's routed to the 'staging' slot has the cookie x-ms-routing-name=staging
. A request that's routed to the production slot has the cookie x-ms-routing-name=self
.
Note
Next to the Azure portal, you can also use the az webapp traffic-routing set
command in the Azure CLI to set the routing percentages from CI/CD tools like DevOps pipelines or other automation systems.
Route production traffic manually
In addition to automatic traffic routing, App Service can route requests to a specific slot. This is useful when you want your users to be able to opt in to or opt out of your beta app. To route production traffic manually, you use the x-ms-routing-name
query parameter.
To let users opt out of your beta app, for example, you can put this link on your webpage:
The string x-ms-routing-name=self
specifies the production slot. After the client browser accesses the link, it's redirected to the production slot. Every subsequent request has the x-ms-routing-name=self
cookie that pins the session to the production slot.
To let users opt in to your beta app, set the same query parameter to the name of the non-production slot. Here's an example:
By default, new slots are given a routing rule of 0%
, shown in grey. When you explicitly set this value to 0%
(shown in black text), your users can access the staging slot manually by using the x-ms-routing-name
query parameter. But they won't be routed to the slot automatically because the routing percentage is set to 0. This is an advanced scenario where you can 'hide' your staging slot from the public while allowing internal teams to test changes on the slot.
Delete a slot
Search for and select your app. Select Deployment slots > <slot to delete> > Overview. The app type is shown as App Service (Slot) to remind you that you're viewing a deployment slot. Select Delete on the command bar.
Mgsv Additional Option Slot Wins
Automate with PowerShell
Note
This article has been updated to use the new Azure PowerShell Azmodule. You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020.To learn more about the new Az module and AzureRM compatibility, seeIntroducing the new Azure PowerShell Az module. ForAz module installation instructions, see Install Azure PowerShell.
Azure PowerShell is a module that provides cmdlets to manage Azure through Windows PowerShell, including support for managing deployment slots in Azure App Service.
For information on installing and configuring Azure PowerShell, and on authenticating Azure PowerShell with your Azure subscription, see How to install and configure Microsoft Azure PowerShell.
Create a web app
Create a slot
Initiate a swap with a preview (multi-phase swap), and apply destination slot configuration to the source slot
Cancel a pending swap (swap with review) and restore the source slot configuration
Swap deployment slots
Monitor swap events in the activity log
Delete a slot
Automate with Resource Manager templates
Azure Resource Manager templates are declarative JSON files used to automate the deployment and configuration of Azure resources. To swap slots by using Resource Manager templates, you will set two properties on the Microsoft.Web/sites/slots and Microsoft.Web/sites resources:
buildVersion
: this is a string property which represents the current version of the app deployed in the slot. For example: 'v1', '1.0.0.1', or '2019-09-20T11:53:25.2887393-07:00'.targetBuildVersion
: this is a string property that specifies whatbuildVersion
the slot should have. If the targetBuildVersion does not equal the currentbuildVersion
, then this will trigger the swap operation by finding the slot which has the specifiedbuildVersion
.
Example Resource Manager template
The following Resource Manager template will update the buildVersion
of the staging slot and set the targetBuildVersion
on the production slot. This will swap the two slots. The template assumes you already have a webapp created with a slot named 'staging'.
Mgsv Option Slot
This Resource Manager template is idempotent, meaning that it can be executed repeatedly and produce the same state of the slots. After the first execution, targetBuildVersion
will match the current buildVersion
, so a swap will not be triggered.
Automate with the CLI
Mgsv Additional Option Slot Strategy
For Azure CLI commands for deployment slots, see az webapp deployment slot.
Troubleshoot swaps
If any error occurs during a slot swap, it's logged in D:homeLogFileseventlog.xml. It's also logged in the application-specific error log.
Here are some common swap errors:
An HTTP request to the application root is timed. The swap operation waits for 90 seconds for each HTTP request, and retries up to 5 times. If all retries are timed out, the swap operation is stopped.
Local cache initialization might fail when the app content exceeds the local disk quota specified for the local cache. For more information, see Local cache overview.
During custom warm-up, the HTTP requests are made internally (without going through the external URL). They can fail with certain URL rewrite rules in Web.config. For example, rules for redirecting domain names or enforcing HTTPS can prevent warm-up requests from reaching the app code. To work around this issue, modify your rewrite rules by adding the following two conditions:
Without a custom warm-up, the URL rewrite rules can still block HTTP requests. To work around this issue, modify your rewrite rules by adding the following condition:
After slot swaps, the app may experience unexpected restarts. This is because after a swap, the hostname binding configuration goes out of sync, which by itself doesn't cause restarts. However, certain underlying storage events (such as storage volume failovers) may detect these discrepancies and force all worker processes to restart. To minimize these types of restarts, set the
WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG=1
app setting on all slots. However, this app setting does not work with Windows Communication Foundation (WCF) apps.