• About Us
  • Blog
  • Basket
  • Account
  • Sign In
  •  

Blog

Memory and Performance Impact of 51Degrees

Published on Tuesday, July 21, 2015

Memory and Performance Impact of 51Degrees

Load testing 51Degrees with DotNetNuke CMS

Introduction

The purpose of testing is to investigate the impact of 51Degrees device detection and image optimisation modules on the performance of the DotNetNuke (DNN) Content Management System. The DNN platform was tested with high user page loads. DNN was chosen as a representative .NET platform for testing 51Degrees .NET API.

This article providea a table of expected memory consumption for common configurations.

DNN

The Community version of DNN labeled as Alpha 8.0.0.0 obtained from the development branch on the 13th of July 2015. The 51Degrees module in this DNN version was locally patched (in a separate git branch of our fork) with the latest V3.2 changes. The 51Degrees Enterprise data file, being the largest file, was used in all tests.

Server

Microsoft Azure A1 instance was used with a SQL server database and CMS platform running on the same machine. This configuration is the smallest dedicated CPU configuration available. This configuration eliminated the latency associated with the distributed servers.

Test parameters

The performance tests were carried out using LoadStorm tool with identical parameters for each test. Performance monitoring running on the same server was used to capture CPU and Memory usage. Each test had the following parameters:

  • Based on a HAR (HTTP Archive) file derived from Chrome developer tools, the behaviour pattern is chosen to start from the home page, visit pages 2, 3 and 4 and then visit the image-heavy page (page 1) and finally move to page 5.
  • Each test started with 10 concurrent users.
  • Total test duration was 15 minutes.
  • Each test ended with 100 concurrent users. The level of 100 concurrent users was maintained for the last 8 minutes of each test.
  • 51Degrees was used in the File (aka Stream) mode which is the recommended configuration for a mid-range web site running on multiple servers.

Results

51Degrees module fully disabled.

Printscreen of output from loadstorm when testing DNN with 51Degrees device detection fully disabled.
Printscreen of LoadStorm test results with 51Degrees DNN module disabled.
Total Requests: 28,961
Peak Response Time(ms): 7,213
Average Response Time(ms): 294
Peak Requests Per Second: 48.38
Average Requests Per Second: 30.17
Key metrics when 51Degrees fully disabled

51Degrees module enabled but image optimisation not used.

Printscreen of output from loadstorm when testing DNN with 51Degrees device detection enabled but image optimiser not used.
Printscreen of LoadStorm test results with 51Degrees DNN module enabled but image optimiser not used.
Total Requests: 29,091
Peak Response Time(ms): 2,885
Average Response Time(ms): 292
Peak Requests Per Second: 48.58
Average Requests Per Second: 32.32
Key metrics when 51Degrees enabled. Image optimiser not used.

51Degrees module enabled with image optimiser in use and images resized to 800 pixels.

Printscreen of output from loadstorm when testing DNN with 51Degrees device detection enabled and image optimiser configured to return images resized to 800 pixels.
Printscreen of LoadStorm test results with 51Degrees DNN module enabled and image optimiser configured to resize the images to 800 pixels.
Total Requests: 29,390
Peak Response Time(ms): 3,303
Average Response Time(ms): 291
Peak Requests Per Second: 48.28
Average Requests Per Second: 32.66
Key metrics when 51Degrees enabled. Image optimiser set to resize images to 800 pixels in width.

Memory and guidance

Other base line tests were performed on the same configuration with different 51Degrees data files in both stream and memory mode to provide guidance to those evaluating memory requirements per instance of 51Degrees device detection.

Expected memory consumption

File (Stream) mode Memory mode
Lite 10 – 20Mb 35 – 45Mb
Premium 10 – 30Mb 80 – 90 Mb
Enterprise 10 – 50Mb 130 – 150Mb
Table shows the expected memory consumption for both File (Stream) and Memory modes of operation using Lite, Premium and Enterprise data files. The figures are for individual application pool worker process.

Conclusion

Using 51Degrees device detection module on the test DotNetNuke Azure virtual machine did not produce any server errors and had no effect on the response times. The additional memory consumed in File (Stream) mode is likely to be acceptable in a memory constrained environment, and where an environment supporting higher volumes requires faster detection Memory Mode also shows consistent memory usage.

Test results (including memory dump files) are available on request.

External resources:

Article image "Going nowhere fast" by Nathan E Photography

Comments (0)
Mike
>

51Degrees Products

Other posts by 51Degrees Products
Contact author

Name:
Email:
Subject:
Message:
x

Tags

.NET 2013 2014 4G 51Degrees 5G A.C.Roma A7 ABI Acer Affiliate Marketing Alcatel Amazon AMP Analysis Analytics Android Android 5.0 Lollipop Android Kitkat Android Lollipop Android Media Stick Apache API Apple Apple TV Archos Asha Asian Market ASP.NET Asus Australia Big Data Black Friday Blackberry Blink Browser C C# Case Study CeBIT CES Chrome Cloud CMS combinations Comparison Competition CoolPad COTW Cron CSS3 Data Data Blog Data File Data Model Daydream Denver Design Desire Eye Desktop Detection Developers Device Device Data Device Detection Device Intelligence Device Popularity Device property Device Types Device Use Display DoCoMo Doogee DotNetNuke Download Drupal Email EReader E-Reader Ericsson Evaluation Event Examples EXPLAY Rio Facebook feature Firefox Firefox OS Fly Foundation Framework France Galaxy S3 Galaxy S5 Galaxy Tab A Galaxy Tab A 8.0 Galaxy Tab A 9.7 Germany git repositories Global Google Google Daydream GSMA HAProxy Hardware Hisense HTC HTC ONE MAX HTC OS HTML5 HTTP Huawei HUAWEI. UPDATE HUDL Huwaei IBC Icemobile Prime 4.0 IE IFA IIS Image Optimiser Image Optimizer India Infographic Ingeniux Internet usage iOS iOS 7 iOS 8 ipad iPhone iPhone 6 IsEmailBrowser IsWebApp Italy Japan Java Javascript Jolla Kentico Keynote Kindle Kindle Fire Kindle Fire HD Leagoo Lenovo LG Location Log File Analysis LTE Lumia Map Memory Meta Data Mi 4S Micromax Microsoft Miia Style Mobile Mobile Analysis Mobile Analytics Mobile Devices Mobile Marketing Mixer Module Motorola MVC4 MWC MWC 2017 MWC16 MyPhone Native Native Apps NET New Release News News Letter Nexus Nexus 6 Nexus 9 NFC NGINX Nokia Non-Mobile NVIDIA Omate On7 OnePlus 5 Opera Opera Mini Operating System Optimisation OS OSX 10.10 OTA Panasonic Patent PC Pebble Performance phablet phone PHP Poland Presentation Press Release Price Band PRIV PS4 Python QMobile QR Codes Redirection Research Reseller Responsive Images RESS Review reviews RIM Ringmark RWD Samsung Scala Screen Screen resolution Screen Size SEO Server Set Box Set Top Box Sharepoint Shark 1 SHIFT phones Sitecore SLUSH Smart TV Smartphone Smartphones Smartwatches Snapdragon Sony Sony Xperia Spain Swedish Beers Symbian Tablet Tablets Tesco Testing Tips Top 5 TOTW TV UDS UK Umbraco Update updates US User Agent UserAgent User-Agent Vendors Version 3 VoLTE VR Wearable Web Web Apps WebKit WebMatrix White Paper Widgets Widnows WiFi Wiko Wileyfox Windows Windows Phone Xbox XBox One Xiaomi Xperia Xperia z Yosemite Z10 ZenFon 2 ZOPO ZTE