See also the 2.11 release guide for improvements included in the 2.11 release: 2.11 Release Guide - Performance Improvements Phase I
UPDATE (2/22): For the most current recommendations, please see Scaling for Flash Sales, Product Launches, and other Web Events.
Considerations already implemented
...
Administration and Fulfillment System Changes
Administrators should Do not make any changes in Aspenware Commerce admin Administration when scaled out
If an admin makes any change in Aspenware Commerce when scaled out, it will only take effect on one application service/site in real time.
The other scaled out sites will not be updated with the change until the cache expires on that machine or an action is performed on that machine that causes the cache to clear.
For example, if product inventory is cached for 5 minutes
, then all instances will see updated values
in 5 minutes (some could see it sooner, but
all will see it after the cache expires).
Please see Static Cache Guidelines below for information about cache duration.
Some settings, such as Queue-It API key, customer ID, and secret, require an application service restart after any change (whether scaled or not). See Queue-It Release Guide
Customer profile details
If customer profile details are changed in the fulfillment system (RTP|ONE or Siriusware) while the guest is shopping, the changes won’t be seen until the cache is refreshed.
Static Cache Guidelines
24 Hours:
MetaDataTags -> 24 hours
ProductMetaDataTags Product Classifications (ProductMetaDataTags) -> 24 hours
30 Minutes:
ProductAttribute -> 30 min per product
TerminalConfiguration -> 30 minutes
By Setting:
Inventory pools (Get Inventory For Month call) -> "ecommercesettings.productinventory.cachetime"
NOTE: In the 2.12 release, coming in late October, inventory will be enhanced so it is no longer retrieved from RTP|ONE less frequently, which will improve performance for inventoried products.
Dynamic pricing tables: yieldPriceListTable, yieldProductVariantTable, yieldDaysToArrivalTable -> "ecommercesettings.dynamicpricing.cachetime"
Product Inventory (golf specific): -> "GolfSettings.ProductInventory.CacheTime"
Logical:
If catalog setting "CacheProductPrices" is set to true product prices are cached for 60 seconds
60 Minutes:
ActivityLogType
Category
Category API Call (this call loads the category pages and PDP pages)
CheckoutAttributes
Currency
Customer Household Information (name, birthdate, address, media codes, and gender, legacy contact id)
CustomerRoles
Discount
DiscountRequirement
Does a product have an attribute y/n (cached so we don't call the db to get attributes if the product doesn't have any)
Languages
LocalStringResource (language strings)
LocalizedProperty
PermissionRecord
Picture (table)
ProductCategory
ProductManufacturer
Settings
SpecificationAttribute
SpecificationAttributeOption
Store (holds url and language info)
StoreMapping
TaxAddress
TaxRate
Url RecordsWidgets