•  914-288-5685
  •   sales@revindex.com
   Search
0
 
  • Register
 
Login
Revindex
  • Products
    • -Comodo PCI Scan
    • -RapidSSL Certificate
    • -RapidSSL Wildcard Certificate
    • -Revindex Generic Skin
    • -Revindex Impersonator
    • -Revindex Omni Skin
    • -Revindex Optimizer
    • -Revindex Polo Skin
    • -Revindex Priority Support
    • -Revindex Storefront
    • -Revindex Storefront Service Plan
    • -Revindex Storefront Source
    • -Revindex Storefront Source Service Plan
    • -Revindex Task Scheduler
    • -Revindex Wiki
    • -Software License Modification
  • Services
    • -Design
    • -Programming
    • -Hosting
    • -Merchant Account
  • Resources
    • -Downloads
    • -Knowledge Base
      • --ASCII Characters
      • --HTML Entities
      • --Revindex Impersonator
      • --Revindex Optimizer
      • --Revindex Storefront
      • --Revindex Task Scheduler
      • --Revindex Wiki
      • --Standard DNN Tokens
    • -Tools
      • --Remote Ping
      • --Unit Converter
      • --URL Encoder Decoder
      • --HTML Encoder Decoder
      • --GUID Generator
    • -Blogs
  • Support
    • -Forum
    • -Frequently Asked Questions
    • -Support Ticket
  • Company
    • -About Us
    • -Customer Portfolio
    • -Customer Reviews
    • -Resellers
  • Free Trial
You are here: Resources ⁄ Knowledge Base ⁄ Revindex Storefront

Revindex Storefront

Email Export Print

How to improve performance

Performance is dependent on several factors such as hardware, network speed, server load, etc. There are several things you can do on the software side to improve performance:

  • Ensure you are running .NET 4.5+ framework.
  • Ensure you are running the latest version of Revindex Storefront running the newest display templates. Newer releases often have significant performance enhancements.
  • Enable IIS static and dynamic compression. This will significantly improve download time.
  • Install Revindex Optimizer to speed up page loading time by up to 50%.
  • Remove any unnecessary module controls on your page (side banner, footer, etc.).
  • Set your DotNetNuke Cache Settings to "Heavy" under Host > Host Settings page. Please note caching takes effect and builds up speed after the first page visit.
  • Enable Page output cache for most of your static pages as well as for the Product List page. From the page settings, select the MemoryOutputCachingProvider and set a reasonable cache duration like 1800 seconds. Make sure to Include params by default.
  • Make use of content delivery network (CDN) to host your common client scripts under Host > Host Settings page.
  • Make use of Client Resource Management composition and minify files under Host > Host Settings page.
  • Make sure to Enable Event Log Buffer under Host > Host Settings page to avoid writing to disk everytime a log is generated.
  • Uncheck the Auto-Sync File System under Host > Host Settings page if you don't use FTP to avoid querying the disk for new files.
  • Reduce the high frequency runs of unimportant jobs under Host > Schedule page. For example, you don't always need to index your search every minute and can increase to 15 minutes.
  • Uninstall extensions that you don't use under Host > Extensions page to reduce memory consumption.
  • Ensure your hosting does not place a limit your application pool's memory or CPU usage.
  • If you have a low traffic site, ensure your site is up and running using a keep-alive service to ping your site every 15 minutes. If your site idles too long, your hosting provider or IIS may shut down the process causing the first visit to take a long time to start up again.

In terms of hardware changes:

  • Ensure you have lots of free memory on the server so that your OS is not swapping to disk and the Web server is able to cache as much data as possible.

    Ideally, ensure the system can cache all your products to memory. You can roughly calculate how much memory is needed for simple products = Avg. DB row size X Number of products X 10 factor. The factor of 10 will increase quickly if your product is complex and have many variants and attributes, so please test accordingly. For example, if your database product table uses about 1 KB of storage per row and you have 10,000 products, you can approximate a memory consumption of 100 MB just for caching products. To find the row size, you can simply view your table properties and look for the table storage size and divide by the number of rows in that table.
  • Get faster hard drives for your database and file server. It's about the number of IO per second and not about storage size (SSD or 10K/15K rpm hard drives in RAID are recommended).
  • Get a very fast CPU for your Web server especially if you intend to use a lot of dynamic rules and promotions.
  • Revindex Storefront supports Web farm configuration allowing you to spread the load over multiple Web servers.
  • Ensure you have a fast ethernet connection between your Web server and database server if they're on separate machines (1 Gbps or higher is recommended).
  • Ensure you have a fast public network (100 Mbps or more).

How you configure your Storefront will also determine the general performance of your shop:

  • Group your products using multiple categories and sub-categories to avoid displaying too many products on a single page. It's generally ineffective to list thousands of products on one category even with paging enabled, when the average customer never navigates past the 2nd page. Most major shopping sites use this approach to speed up performance. For example, a good way is to mark a limited number of products as Featured products, therefore, showing only the subset of products when no category is being selected instead of showing all products. Likewise, sub-category is a great way to force customers to quickly narrow down to what they're looking for instead of paging through hundreds of pages. In general, aim for no more than a hundred products per category.
  • Avoid creating unnecessary product variants when you can create product options with custom fields. Product variants are generally used when you need to track distinct inventory and SKU for each product option.
  • Limit the use of product filter for only important attributes. Balance between speed and ease of navigation for your customers. Product filter is generally an intensive operation. Learn to take advantage of other forms of navigation filters like product search, category, manufacturer, distributor, etc.
  • Reduce the number of unnecessary modules on your page that can clutter and slow down the page rendering.
  • Set a small but reasonable limit on the number of results to show under Configuration > Product List and Configuration > Product Search settings. Study shows 80% of customers don't navigate past the 2nd page (e.g. 100 is a good limit). Rather than setting a high limit and expect the customer to click through 20 pages of products, you should emphasize the use of the product search module instead.
  • Disable natural sort under Configuration > Product list settings. The natural sort algorithm is an expensive operation.
  • Make sure your Log Level is set to "Error" mode under Configuration > General settings so that you're not logging unnecessary debug information.

 

Comments

Add comment
Previous Next

Search

Search

Contents

  • Users Manual
    • Overview
    • Installation
      • Requirements
      • How to install
      • Quick start settings
      • License key
      • Common installation errors
      • Adding module controls
      • How module controls interact
      • How to move modules
      • How to SSL secure your pages
      • How to improve performance
      • How to upgrade
      • How to install DNN on local machine
      • Web farm
      • How to uninstall
      • How to re-install with data
      • How to migrate product data
    • Administration
      • Configuration
        • General
        • Currencies
        • Payment
          • Gateways
            • Authorize.Net AIM
            • Authorize.Net CIM
            • Authorize.Net SIM
            • Barclaycard DirectLink
            • BluePay
            • CashFlows Remote API
            • Chase Paymentech Orbital Gateway
            • Corduro
            • CyberSource
            • Dotpay
            • Elavon Virtual Merchant
            • eProcessing Network
            • eWay Direct Payment Australia
            • FirstData Global Gateway Web Service
            • FTNI
            • FTNI ACH
            • InternetSecure
            • Intuit QuickBooks Merchant Service
            • MasterCard Internet Gateway Service Hosted
            • Merchant e-Solutions
            • Mollie
            • Moneris eSelectPlus Canada
            • NMI
            • PayFast Website Payment
            • Payment Express PxPay
            • Payment Express PxPost
            • PayPal Express Checkout
            • PayPal Payment Gateway
            • PayPal Payments Standard
            • PayPal Website Payments Pro
            • Paystation 3-Party
            • PayTrace
            • PayU Business
            • PayU Enterprise
            • Peach Payments
            • Princeton CardConnect
            • PSiGate XML Messenger
            • Sage Pay Direct
            • Sage Pay Form
            • Sage Payments Direct
            • Stripe
            • Suomen Verkkomaksut
            • Total Apps
            • Towah
            • USA ePay
            • Virtual Card Services Pay
            • WorldPay Corporate XML Direct
            • Zooz
            • Custom gateway
          • How to offer free products without payment
          • How to avoid duplicate order number error
        • Taxes
          • Providers
            • Avalara
            • TaxJar
            • Zip2Tax
          • How to use a tax table
        • Packages
        • Packing
          • Single package
          • Single product
          • Volume fit
        • Shipping
          • Shipping Availability
          • Shipping Rate
          • Providers
            • ABF
            • Australia Post
            • Canada Post
            • FedEx
            • Shipwire
            • CouriersPlease
            • Southeastern
            • Unishippers
            • UPS
            • USPS
          • How to configure real-time shipping
        • Fulfillment
          • ShipWorks
        • Handling
          • How to charge handling for payment type
        • Communications
          • Cart abandon email
          • Order alert email
          • Order invoice email
          • Order invoice print
          • Order quote email
          • Order quote print
          • Order receipt email
          • Order receipt print
          • Order update email
          • Packing slip print
          • Payment alert email
          • Recurring order payment retry email
          • Recurring order reminder email
          • Right receipt email
          • Voucher receipt email
          • How to troubleshoot email not receiving
          • How to make HTML editor behave
        • Reports
          • How to create custom reports
          • How to export data from custom report
        • Rewards points
        • Analytics
        • Sitemap
        • Affiliates
        • Address validation
          • Avalara
        • Fraud risk
          • FraudLabs Pro
          • Sift Science
        • Channels
          • eBay
        • Accounting
          • QuickBooks
          • Xero
      • Catalog
        • Categories
          • Category availability
        • Distributors
        • Manufacturers
        • Warehouses
        • Product attributes
          • Groups
          • Definitions
        • Products
          • Attributes
          • Gallery Images
          • SEO
          • Product Availability
          • Custom fields
          • Variant groups
          • Variants
            • Inventory
            • Warehouse
            • Price
            • Product Modifier
            • Product Promotion
            • Subscription Products
            • Taxable Products
            • Weight & Dimensions
            • Variant Availability
            • Attributes
            • Gallery Images
            • Quoted products
            • Bundled products
            • Booking products
            • Required Products
            • Downloadable Products
            • Custom fields
            • Actions
            • Extensions
          • Cross-sell products
          • How to create a simple product
          • How to create a recurring product
          • How to create a setup fee
          • How to create overridable price product
          • How to create a configurable price product
          • How to create downloadable products
          • How to create a catalog product
          • How to create a voucher product
          • How to email external license key
          • How to show product without category
          • How to give first month recurring free
          • How to create a deferred product
          • How to sell on eBay
          • How advanced URL provider works
          • How to delete all products
        • Vouchers
        • Rights
      • Sales
        • Orders
          • Order, Payment & Shipping Status
          • Payments
            • How to refund payment
          • Preorders
          • How to accept offline orders
          • Why do order numbers skip?
          • How to auto delete incomplete orders
          • How to delete all orders
        • Recurring Orders
        • Bookings
        • Rights
        • Vouchers
      • Marketing
        • Coupons
          • Coupon Availability
        • Promotions
          • Handling Type Promotion
          • Product Type Promotion
          • Sales Order Detail Type Promotion
          • Shipping Type Promotion
          • Tax Type Promotion
      • Access Control
      • Log Level
    • Category
      • How to expand all categories
      • How to add categories to Web site menu
    • Distributor
    • Manufacturer
    • Product List
      • Hosting Multiple Module Controls
      • How to change default sort order
      • How to change the number of grid columns
      • How to change page size
      • How to default to list view
      • How to force products from a category
      • How to show featured products
    • Product Detail
      • Hosting Multiple Module Controls
      • How to force product
      • How to set number of related products
    • Product Filter
    • Product Search
      • How search works
    • Product Showcase
    • Product Comparison
    • Cart Summary
      • How to change payment acceptance mark
    • Cart
      • How to increase cart session time
      • How to cleanup on logout
    • Checkout
      • Anonymous Checkout
      • Multiple step or single page checkout
      • Checkout Availability
      • Actions
      • How to assign security role on checkout
      • How to change payment acceptance mark
      • How to hide unwanted country
      • How to set default country
      • How to include registration form in checkout
      • How to create a single login & register page
      • How numbers are calculated and rounded
      • How to require terms & agreement
    • Confirmation
    • Currency
    • Quick Order
    • Wish List
    • Manage Address
    • Manage Product Download
    • Manage Order
    • Manage Payment
    • Manage Recurring Order
    • Manage Rewards Points
    • Manage Rights
    • Manage Vouchers
    • Manage Wish List
    • Multi-seller marketplace
      • Sellers
      • Administration
      • Order splitting
    • Text and languages
      • International languages
      • Static Localization and Language Packs
        • How to format the currency symbol
        • How to create your own language pack
        • How to format page title
      • Content Localization
        • How to localize XSL email template
    • Design and Styling
      • Display Templates
        • Removing unwanted elements
        • How to upgrade display templates
        • How to edit template in Visual Studio
        • How to style buttons
        • How to expand panel by default
      • Models
        • CartModel
        • CartSummaryViewModel
        • CartViewModel
        • CategoryModel
        • CategoryViewModel
        • CheckoutModel
        • CheckoutViewModel
        • CodeType
        • ConfirmationModel
        • ConfirmationViewModel
        • CrosssellProductModel
        • CrosssellProductViewModel
        • DistributorFilterModel
        • DistributorModel
        • DistributorViewModel
        • DynamicFormCodeModel
        • DynamicFormFieldModel
        • DynamicFormModel
        • GalleryFormatType
        • GalleryModel
        • IntervalType
        • InventoryUnitType
        • LoginModel
        • ManageWishListModel
        • ManufacturerFilterModel
        • ManufacturerModel
        • ManufacturerViewModel
        • PagerModel
        • PaymentMethodModel
        • PaymentMethodType
        • PriceFilterModel
        • ProductAttributeDefinitionModel
        • ProductAttributeDefinitionSelectionModel
        • ProductAttributeFilterModel
        • ProductAttributeGroupModel
        • ProductAttributeModel
        • ProductAttributeType
        • ProductComparisonModel
        • ProductComparisonViewModel
        • ProductComponentModel
        • ProductComponentType
        • ProductDetailModel
        • ProductDetailViewModel
        • ProductFilterModel
        • ProductFilterViewModel
        • ProductInventoryEmptyBehaviorType
        • ProductListModel
        • ProductListPageViewDisplayOrderType
        • ProductListViewModel
        • ProductModel
        • ProductPartModel
        • ProductReviewModel
        • ProductReviewViewModel
        • ProductSearchViewModel
        • ProductShowcaseDisplayEffectType
        • ProductShowcaseScrollDirectionType
        • ProductShowcaseViewModel
        • ProductVariantGroupFieldType
        • ProductVariantGroupModel
        • ProductVariantGroupOptionModel
        • ProductVariantModel
        • RecurringIntervalType
        • RegistrationModel
        • RequiredProductModel
        • SalesOrderDetailModel
        • SalesOrderDetailStatusType
        • SalesOrderModel
        • SalesOrderSetModel
        • SalesPaymentModel
        • SalesType
        • SellerModel
        • ShoppingModel
        • UserAddressModel
        • UserModel
        • UserPaymentModel
        • ValidationResultModel
        • WishListModel
        • WishListType
      • Styling Telerik controls
      • Understanding CSS Precedence
      • How to override CSS styles
    • Shopping Cart Flow
      • Customer initiates checkout
      • Merchant fulfills new order
      • Merchant cancels bad order
      • Merchant fulfills recurring order
      • Understanding payment risk
      • How to force order and payment status
    • Page action
      • Examples
    • Import and Export
      • Overview
      • Data Types
      • Entities
        • Category
        • Distributor
        • Gallery
        • Manufacturer
        • Product
        • Product Attribute
        • Product Attribute Definition
        • Product Attribute Group
        • Product Category
        • Product Component
        • Product Part
        • Product Review
        • Product Variant
        • Product Variant Group
        • Product Variant Group Option
        • Product Variant Option
        • Recurring Sales Order
        • Related Product
        • Required Product
        • Right
        • Sales Order
        • Sales Order Detail
        • Voucher
        • Warehouse
      • Examples
        • Export products
        • Insert products
        • Update products
        • Delete products
        • Export products (SQL)
        • Export orders (SQL)
        • How to bulk update gallery images
        • How to bulk update product keys
      • Site Wide Import and Export
    • REST API
      • Overview
      • Data Types
      • Authentication
      • Services
        • Category
        • Coupon
        • CrosssellProduct
        • Distributor
        • Gallery
        • Locale
        • Manufacturer
        • Portal
        • Product
        • ProductAttribute
        • ProductAttributeDefinition
        • ProductAttributeGroup
        • ProductCategory
        • ProductComponent
        • ProductPart
        • ProductVariant
        • ProductVariantGroup
        • ProductVariantGroupOption
        • ProductVariantOption
        • RecurringSalesOrder
        • RelatedProduct
        • RequiredProduct
        • Right
        • RightDefinition
        • SalesOrder
        • SalesOrderDetail
        • SalesPayment
        • SalesPromotion
        • ShippingMethod
        • TaxClass
        • User
        • UserPayment
        • Voucher
        • VoucherDefinition
        • Warehouse
      • Examples
        • Export order (Powershell)
        • Export order 2 (Powershell)
        • Export products (Powershell)
        • QuickBooks export customer (Powershell)
        • QuickBooks export sales order (Powershell)
        • Shipwire export order (Powershell)
        • Retrieve product (C#)
        • CSV bulk import
    • XML and XSL
      • XSL Transform
      • XSL Tokens
      • Debugging XSL
    • String Tokens
    • Lookup Values
      • Country and subdivision codes
      • Inventory unit types
      • Package Types
      • Payment Gateway Response Code Types
      • Payment Method Types
      • Payment origin types
      • Recurring Interval Types
      • Recurring Sales Order Status Types
      • Rewards points operation types
      • Rewards points status types
      • Sales order detail status types
      • Sales Order Origin Types
      • Sales Types
      • Sales Order Status Types
      • Sales Payment Status Types
      • Sales Payment Transaction Types
      • Shipping Status Types
      • Voucher Interval Types
      • Voucher Status Types
    • Compliances
      • GDPR
      • PCI
  • Release notes

Powered by Revindex Wiki

Copyright Revindex Inc. : Terms Of Use : Privacy Statement
Copyright Revindex Inc. : Terms Of Use : Privacy Statement