Improve application performance and scalability with Adobe ColdFusion 9



Similar documents
Adobe ColdFusion 11 Enterprise Edition

Adobe ColdFusion Builder

HP reference configuration for entry-level SAS Grid Manager solutions

An Oracle White Paper August Oracle WebCenter Content 11gR1 Performance Testing Results

Removing Performance Bottlenecks in Databases with Red Hat Enterprise Linux and Violin Memory Flash Storage Arrays. Red Hat Performance Engineering

Accessing Data with ADOBE FLEX 4.6

Dell Compellent Storage Center SAN & VMware View 1,000 Desktop Reference Architecture. Dell Compellent Product Specialist Team

How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)

HP SN1000E 16 Gb Fibre Channel HBA Evaluation

ColdFusion 8. Performance Tuning, Multi-Instance Management and Clustering. Sven Ramuschkat MAX 2008 Milan

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers

Microsoft Dynamics CRM 2011 Guide to features and requirements

bbc Adobe LiveCycle Data Services Using the F5 BIG-IP LTM Introduction APPLIES TO CONTENTS

MAGENTO HOSTING Progressive Server Performance Improvements

IPRO ecapture Performance Report using BlueArc Titan Network Storage System

Legal Notices Introduction... 3

Accelerating Microsoft Exchange Servers with I/O Caching

Microsoft Windows Server 2003 with Internet Information Services (IIS) 6.0 vs. Linux Competitive Web Server Performance Comparison

Evaluation Report: Supporting Microsoft Exchange on the Lenovo S3200 Hybrid Array

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

Optimizing SQL Server Storage Performance with the PowerEdge R720

Very Large Enterprise Network Deployment, 25,000+ Users

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

BIRT Document Transform

Performance Analysis of Web based Applications on Single and Multi Core Servers

Business white paper. HP Process Automation. Version 7.0. Server performance

Accelerating Server Storage Performance on Lenovo ThinkServer

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Adobe ColdFusion (2016 release) Enterprise Edition

Adobe LiveCycle Data Services 3 Performance Brief

EMC Unified Storage for Microsoft SQL Server 2008

Measuring Cache and Memory Latency and CPU to Memory Bandwidth

Comparing the Network Performance of Windows File Sharing Environments

Diablo and VMware TM powering SQL Server TM in Virtual SAN TM. A Diablo Technologies Whitepaper. May 2015

Achieving Real-Time Business Solutions Using Graph Database Technology and High Performance Networks

Atempo, Inc. LIVE BACKUP DEPLOYMENT GUIDE PLANNING AND DEPLOYING LIVE BACKUP IN YOUR CORPORATE ENTERPRISE. Author: Amy Gracer,

Capacity Planning Guide for Adobe LiveCycle Data Services 2.6

A technical guide for monitoring Adobe LiveCycle ES deployments

Benchmarking Guide. Performance. BlackBerry Enterprise Server for Microsoft Exchange. Version: 5.0 Service Pack: 4

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

v7.1 Technical Specification

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

Muse Server Sizing. 18 June Document Version Muse

Estimate Performance and Capacity Requirements for Workflow in SharePoint Server 2010

High-Volume Data Warehousing in Centerprise. Product Datasheet

Performance and scalability of a large OLTP workload

The IBM Cognos Platform for Enterprise Business Intelligence

Capacity Planning for Microsoft SharePoint Technologies

Microsoft SQL Server 2012 on Cisco UCS with iscsi-based Storage Access in VMware ESX Virtualization Environment: Performance Study

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

Enabling Technologies for Distributed and Cloud Computing

New!! - Higher performance for Windows and UNIX environments

SOLUTION BRIEF: SLCM R12.8 PERFORMANCE TEST RESULTS JANUARY, Submit and Approval Phase Results

Introducing the Adobe Digital Enterprise Platform

Cisco, Citrix, Microsoft, and NetApp Deliver Simplified High-Performance Infrastructure for Virtual Desktops

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Configuring and Administering ADOBE COLDFUSION 10

scalability OneBridge

Adobe Flash Catalyst CS5.5

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

Oracle Business Intelligence Publisher Overview & Best Practices

AlphaTrust PRONTO - Hardware Requirements

Oracle Database Scalability in VMware ESX VMware ESX 3.5

SiteCelerate white paper

Reading and Writing Files Using the File Utilities service

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

Analysis of VDI Storage Performance During Bootstorm

Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax

The MAX5 Advantage: Clients Benefit running Microsoft SQL Server Data Warehouse (Workloads) on IBM BladeCenter HX5 with IBM MAX5.

Synergis Software 18 South 5 TH Street, Suite 100 Quakertown, PA , version

Express5800 Scalable Enterprise Server Reference Architecture. For NEC PCIe SSD Appliance for Microsoft SQL Server

McAfee VirusScan Enterprise for Storage 1.0 Sizing Guide for NetApp Filer on Data ONTAP 7.x

EMC VFCACHE ACCELERATES ORACLE

Kronos Workforce Central on VMware Virtual Infrastructure

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Very Large Enterprise Network, Deployment, Users

EMC XtremSF: Delivering Next Generation Storage Performance for SQL Server

Multi-Tenant Scalability Guidance for Exchange Server 2010 Service Pack 2

QLogic 2500 Series FC HBAs Accelerate Application Performance

NetIQ Access Manager 4.1

Supported Platforms May 2013

Rapid application development for JEE using Adobe ColdFusion 9

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

A Comparison of Oracle Performance on Physical and VMware Servers

The 8Gb Fibre Channel Adapter of Choice in Oracle Environments

Laserfiche Hardware Planning and Specifications. White Paper

Best Practices for Deploying SSDs in a Microsoft SQL Server 2008 OLTP Environment with Dell EqualLogic PS-Series Arrays

VDI Without Compromise with SimpliVity OmniStack and Citrix XenDesktop

Grant Management. System Requirements

Maximizing Your Server Memory and Storage Investments with Windows Server 2012 R2

Cache Configuration Reference

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

McAfee Agent Handler

Transcription:

Adobe ColdFusion 9 Performance Brief Improve application performance and scalability with Adobe ColdFusion 9 Table of contents 1: Executive summary 2: Statistics summary 3: Existing features 7: New features 11: Summary 12: Appendix: Testing details and additional product information Executive summary Performance tests reveal that Adobe ColdFusion 9 software provides significant performance improvements over ColdFusion 8, delivering applications capable of processing considerably more page requests. ColdFusion 9 also offers an array of new features such as page fragment caching, object caching, implicit getter/setter in ColdFusion components (CFCs), directory functions, and others that enable developers to build higher performing applications. Additionally, administrators can tune ColdFusion 9 for increased performance with the new Cache Template in Request setting. Overall server performance in ColdFusion 9 is up to 4% faster than in ColdFusion 8 and up to 6 times faster than ColdFusion MX 7. CanvasWiki performance chart 7 6 5 4 3 2 1 CFMX7 Figure 1. CanvasWiki is 4% faster in ColdFusion 9 than in ColdFusion 8 and 6 times faster than in ColdFusion MX 7. 4 Object creation 35 3 25 2 15 1 5 Figure 2. CFC object creation in ColdFusion 9 is 8 times faster than in ColdFusion 8.

Getter/setter method invocation 25 2 15 1 5 Explicit Implicit Figure 3. The implicit getter/setter method invocation is 7 times faster than the explicit getter/setter invocation. Statistics summary Performance enhancements in ColdFusion 9 Through extensive research, bottlenecks in ColdFusion 8 were identified, analyzed, and removed to achieve significant performance gains and preserve backward compatibility in ColdFusion 9. Substantial gains were obtained in areas such as CFC object creation/invocation, CreateUUID, evaluate, and Flash Remoting. Table 1 shows the overall server performance gains in ColdFusion 9 compared with ColdFusion 8 and ColdFusion MX 7. Table 2 shows a summary of all the performance improvements in the existing features. New features such as advanced caching, virtual file system, and a set of directory functions deliver additional performance gains. Overall server performance Area Improvement over ColdFusion 8 Overall server performance (CanvasWiki) 4% 5% Improvement over ColdFusion MX 7 Table 1. Overall performance gains in ColdFusion 9 compared with ColdFusion 8 and ColdFusion MX 7. Existing feature performance Area Improvement over ColdFusion 8 CFC object creation 7% CFC method invocation 2% Flash Remoting 8% Page caching 3% UUID key generation 5,3% Date functions 35% Evaluate 3% Performance improvement with IIS 1% Table 2. Performance improvements in existing features. 2

New feature performance Disabled Enabled Cache Template in Request x 5x New feature performance <cfdirectory> DirectoryList() Nonrecursive DirectoryList() x 1x Recursive DirectoryList() x 4x New feature performance Getter/setter Explicit Implicit (added by ColdFusion 9) Object creation x 4x Method invocation x 7x Table 3. Performance improvements over ColdFusion 8 if new features are used. Existing features ColdFusion 9 provides significantly better performance in several feature areas, including object creation, method invocations, and many frequently used functions. 8 CreateUUID 7 6 5 4 3 2 1 Figure 4. Creating UUIDs in ColdFusion 9 is 53 times faster than in ColdFusion 8. 3

Object creation 4 35 3 25 2 15 1 5 Figure 5. CFC object creation in ColdFusion 9 is 8 times faster than in ColdFusion 8. 14 Method invocation 12 1 8 6 4 2 Figure 6. Method invocation in a ColdFusion 9 CFC is 3 times faster than in ColdFusion 8. 12 Date functions 1 8 6 4 2 Figure 7. Date functions show a 35% performance improvement in ColdFusion 9. 4

Evaluate 45 4 35 3 25 2 15 1 5 Figure 8. The evaluate function shows a 3% performance improvement in ColdFusion 9. IIS connector The Microsoft Internet Information Services (IIS) connector shows performance improvements if there are requests for static contents. Figure 9 graphs the performance for 5 virtual users simultaneously requesting 1 ColdFusion Markup Language (CFML) files and 1 static HTML pages. As requests for static content increase, performance improves. Performance gains are visible only if there is enough load to consume all IIS worker threads. For more information, refer to IIS connector improvements in the appendix. Note: This performance gain is available only with IIS 6 and IIS 7 on Microsoft Windows 23 and later. 14 Overall performance with IIS 12 1 8 6 4 2 IIS IIS Figure 9. IIS connectors show a 1% performance hike in ColdFusion 9. 5

Page caching 1, 9 8 7 6 5 4 3 2 1 Figure 1. Page caching improves 3% in ColdFusion 9. Flash Remoting ColdFusion 9 provides enhanced Flash Remoting performance apart from bug fixes for circular reference serialization-deserialization. From an Adobe Flex application, 1, to 5, ActionScript objects are sent to the ColdFusion 9 server. The AS objects contain the data types most commonly used in ActionScript. These objects are serialised and deserialised into CFCs in the ColdFusion 9 server and then sent back to the Flex application. This turnaround process is defined as a server trip. The throughput shown in Figure 11 is the average of 1 such server trips for each object. 3 Flash Remoting 25 Throughput/object/sec 2 15 1 5 1, 2, 3, 4, 5, ActionScript objects sent to the ColdFusion server Figure 11. Flash Remoting in ColdFusion 9 is 9 times faster than in ColdFusion 8. 6

New features ColdFusion 9 introduces several new features such as advanced caching and implicit getters and setters that enable developers to build higher performing applications. Advanced caching object caching ColdFusion 9 allows users to cache specific objects using cacheput() and to retrieve objects with cacheget(). Users also have the option to put, get, and flush cached objects. 7 Object caching 6 5 4 3 2 1 Without object caching With object caching Figure 12. ColdFusion 9 improves performance when a 5k image is read and resized as a cached object. Advanced caching page fragment caching In many applications, ColdFusion pages contain a combination of static and dynamic information that changes at different frequencies. In these cases, it would be ideal to improve application performance while still allowing application users access to information that is frequently updated. ColdFusion 9 allows developers to cache only the portions of the page that change infrequently or not at all, enabling them to fine-tune application performance. 7 Page fragment caching 6 5 4 3 2 1 Without page fragment caching With page fragment caching Figure 13. When invoking a web service that converts Celsius to Fahrenheit, page fragment caching dramatically improves performance. Cache template in request ColdFusion 9 provides a new Cache Template in Request setting. When this setting is enabled, ColdFusion will not inspect requested templates in the current request for potential updates. This setting can be enabled in the ColdFusion Adminstrator on the caching page under Server Settings. 7

Cache Template in Request 7 6 5 4 3 2 1 Disabled Enabled Figure 14. Cache Template in Request is a setting in the ColdFusion 9 Administrator that improves performance by 5 times. DirectoryList() function ColdFusion 9 introduces a new function, DirectoryList(), that returns a list of the contents in the directory requested. It will also list the contents of any subdirectories if the recurse attribute is set to true. Unlike the <cfdirectory> tag, which acts as a query, DirectoryList() creates an array that can be returned much faster. 16 Nonrecursive DirectoryList() 14 12 1 8 6 4 2 <cfdirectory> DirectoryList() Figure 15. With a nonrecursive, simple listing of 4.5k files, ColdFusion 9 DirectoryList() is 1 times faster than the <cfdirectory> tag. 4 Recursive DirectoryList() 35 3 25 2 15 1 5 <cfdirectory> DirectoryList() Figure 16. With a recursive listing of 5.5k files in a directory, ColdFusion 9 DirectoryList() is 4 times faster than the <cfdirectory> tag. 8

DirectoryList() sorting 35 3 25 2 15 1 5 <cfdirectory> DirectoryList() Figure 17. Sorting 6 files with ColdFusion 9 DirectoryList() is approximately 35% faster than sorting by the <cfdirectory> tag. Getter/setter function object creation ColdFusion components support private properties, allowing users to prevent direct access to them. Typically, developers code public getter and setter methods for access to these properties. In ColdFusion 9, developers no longer have to create getters and setters, as they are created implicitly for every component. Components with implicit getters and setters are created four times faster than components with explicitly coded getters and setters. Note: Implicit getters and setters can be overwritten if necessary. 7 Object creation 6 5 4 3 2 1 Explicit Implicit Figure 18. In ColdFusion 9, CFC object creation with implicit getter/setter functions is four times faster than CFC object creation with explicit getter/setter functions. 9

Getter/setter method invocation 25 2 15 1 5 Explicit Implicit Figure 19. Implicit getter/setter method invocation is seven times faster than explicit getter/setter method invocation. Enterprise vs. Standard edition ColdFusion 9 is available in two editions: Enterprise and Standard. Features like spreadsheet and document to PDF conversion use enhanced tuning and a multi-threaded architecture to deliver linear scalability under load and to accommodate high-volume document generation. 6 Spreadsheet 5 Throughput/object/sec 4 3 2 Enterprise Standard 1 1 5 1 15 Virtual users Figure 2. Spreadsheet functionality scales better in the Enterprise edition than in the Standard Edition. 1

Word to PDF 16 14 12 Throughput/object/sec 1 8 6 Enterprise Standard 4 2 1 2 3 4 5 Virtual users Figure 21. Microsoft Word to PDF conversion scales better in the Enterprise edition than in the Standard Edition. Summary Adobe ColdFusion 9 eliminates the bottlenecks in ColdFusion 8, delivering significant performance gains in areas such as CFC object creation/invocation, CreateUUID, evaluate, and Flash Remoting. New features, such as advanced caching, a virtual file system, and a set of directory functions, enable developers to rapidly build, deploy, and maintain higher performing applications. 11

Appendix: Testing details and additional product information ColdFusion server settings ColdFusion 9 ColdFusion 8 Java version 1.6._14 1.6._4 Xmx 124 124 Timeout Disabled Disabled Enable white space management Enabled Enabled Disable CFC type check Disabled Disabled Maximum number of simultaneous template requests 3 3 Max running Jrun thread 1 1 Trusted cache Enabled Enabled Cache template in request Enabled NA Component cache Enabled Enabled Debugging Disabled Disabled Server monitoring Disabled Disabled Test configuration The test applications and the individual performance scripts were run with ColdFusion 8 and ColdFusion 9 on Microsoft Windows 23 with the following specifications: Windows 23 R2 Enterprise x64 Edition with Service Pack 2 Microsoft Internet Information Server 6. Four 2.27GHz Intel Xeon dual-core E552 processors 6GB of RAM The back-end database was on a separate system with the following specifications: Windows 23 Enterprise Edition with Service Pack 2 Microsoft Internet Information Server 6. SQL Server 25 Two 2GHz Intel Xeon dual-core 513 processors with 1333MHz front-side bus 2GB of RAM The client was on a separate system with the following specifications: Windows 23 Enterprise Edition with Service Pack 2 Two 2GHz Intel Xeon dual-core 513 processors with 1333MHz front-side bus 2GB of RAM Performance measurement tools Performance measurements were conducted with the freeware Jakarta-jmeter. This tool is used to measure end-to-end performance features like average response time and throughput. For more information, refer to http://jakarta.apache.org/jmeter/. Test methodology For testing applications, simultaneous HTTP requests were generated to simulate 3 no-think time-virtual users. Each performance test was performed multiple times to confirm the accuracy of the results. The results were averaged and presented in this document. 12

Migration requirements for Flash Remoting The following properties should be moved from the ColdFusion Destination to Channel level. The properties are located under <channel-definition> <properties> <coldfusion>. For more details, refer to the Help documentation at http://help.adobe.com/en_us/coldfusion/9./developing/ws5b9c73a8-5fa2-4a54-bc6-ceca2e252d.html. <access> <use-mappings> <method-access-level> </access> <use-accessors> <use-implicit-accessors> </use-accessors> <use-structs> <property-case> <force-cfc-lowercase> <force-query-lowercase> <force-struct-lowercase> </property-case> </use-structs> Note: If XML configuration files (inside WEB-INF/flex) from ColdFusion 8 are dropped without ColdFusion 9 changes, Flash Remoting will continue to work as in ColdFusion 8, without performance gains. Simple caching Some ColdFusion pages produce output that changes infrequently. Normally, when ColdFusion receives a request for a page in the application, it executes all the business logic and displays the requested content. If the results change infrequently, it is an inefficient use of processor resources and bandwidth. The cfcache tag tells ColdFusion to cache the HTML that results from processing a page request in a temporary file on the server. This HTML does not need to be generated each time the page is requested. When ColdFusion receives a request for a cached ColdFusion page, it retrieves the pregenerated HTML page without having to process the ColdFusion page. To cache the page results, place a cfcache tag on the ColdFusion page before the code that outputs text. IIS connector improvements IIS maintains the worker thread pool size of 256 per CPU. (Some threads are used internally by IIS). When a request arrives, one thread is picked from the IIS worker thread pool and used until the request is completed. When a request arrives for the IIS thread, the request is blocked until ColdFusion serves the CFM page. Meanwhile, if a request comes in for other content types like HTTP or images, IIS uses other threads in the pool to serve them. If all IIS worker threads are being blocked by ColdFusion requests, there will be no threads immediately available for IIS to serve pages of other content types. For more information Product details: www.adobe.com/go/ coldfusion When a connector receives a request in ColdFusion 9, it picks the native thread from its thread pool and returns the IIS worker thread with IO Completion (the request will be in IO block state). Once the IIS request is freed from the request, it is immediately available to handle the next request and to serve pages of other content types. Once the request is completed by ColdFusion, the connector thread is returned to its native thread pool. Users can tune their applications using different native connector thread pool size values. By default, the native connector thread pool size is 25. This thread pool is defined as maxworkerthread in file [coldfusion_home]\ runtime\lib\wsconfig\1\jrun_iis6_wildcard.ini. Adobe Systems Incorporated 345 Park Avenue San Jose, CA 9511-274 USA www.adobe.com Adobe, the Adobe logo, ActionScript, ColdFusion, Flash, and Flex are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Intel Xeon is a trademark of Intel Corporation in the U.S. and other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners. 21 Adobe Systems Incorporated. All rights reserved. Printed in the USA. 9122936 5/1