White Paper. Executive summary

Similar documents
Adobe ColdFusion 11 Enterprise Edition

Adobe ColdFusion (2016 release)

Performance Improvements in 2016 release of ColdFusion. - A study in numbers -

Adobe ColdFusion level 1 course content (3-day)

A ColdFusion Management System Getting Started Documentation Copyright 2009, All Rights Reserved. FusonLink Inc.

Adobe Acrobat Connect Pro 7.5 and VMware ESX Server

Adobe ColdFusion (2018 release) Performance Whitepaper

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc.

Evaluation Report: Improving SQL Server Database Performance with Dot Hill AssuredSAN 4824 Flash Upgrades

Scaling ColdFusion. Presenter Mike Collins, Sr. ColdFusion Consultant - SupportObjective

The Impact of SSD Selection on SQL Server Performance. Solution Brief. Understanding the differences in NVMe and SATA SSD throughput

Consolidation Assessment Final Report

IBM Education Assistance for z/os V2R2

An Oracle White Paper Released April 2008

Evaluation Report: HP StoreFabric SN1000E 16Gb Fibre Channel HBA

A Rational software Whitepaper 05/25/03. IBM Rational Rapid Developer Scalability and Performance Benchmark

IBM Emulex 16Gb Fibre Channel HBA Evaluation

XenDesktop Planning Guide: Image Delivery

An Oracle White Paper. Released April 2013

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

Lotus Sametime 3.x for iseries. Performance and Scaling

SAP SD Benchmark with DB2 and Red Hat Enterprise Linux 5 on IBM System x3850 M2

SugarCRM on IBM i Performance and Scalability TECHNICAL WHITE PAPER

An Oracle White Paper October Release Notes - V Oracle Utilities Application Framework

INTRODUCTION TO COLDFUSION 8

Performance Characterization of the Dell Flexible Computing On-Demand Desktop Streaming Solution

Assessing performance in HP LeftHand SANs

ADOBE COLDFUSION 8 INSTALLING AND USING COLDFUSION

Optimizing Fusion iomemory on Red Hat Enterprise Linux 6 for Database Performance Acceleration. Sanjay Rao, Principal Software Engineer

BlackBerry Integration With IBM WebSphere Everyplace Access 4.3

Vendor: Adobe. Exam Code: 9A Exam Name: Adobe ColdFusion 9 ACE Exam. Version: Demo

GIS Deployment Guide. Introducing GIS

HP ProLiant BladeSystem Gen9 vs Gen8 and G7 Server Blades on Data Warehouse Workloads

Condusiv s V-locity VM Accelerates Exchange 2010 over 60% on Virtual Machines without Additional Hardware

PRESERVE DATABASE PERFORMANCE WHEN RUNNING MIXED WORKLOADS

HP SAS benchmark performance tests

Adobe Bundles. Industry-leading Adobe and Macromedia software in one box

Scalability Testing with Login VSI v16.2. White Paper Parallels Remote Application Server 2018

PHRED Installation Guide

IBM Tivoli Directory Server

Contents Overview of the Compression Server White Paper... 5 Business Problem... 7

MapMarker Plus Developer Installation Guide

MAX 2006 Beyond Boundaries

Oracle Database 12c: JMS Sharded Queues

Diffusion TM 5.0 Performance Benchmarks

SUPERMICRO, VEXATA AND INTEL ENABLING NEW LEVELS PERFORMANCE AND EFFICIENCY FOR REAL-TIME DATA ANALYTICS FOR SQL DATA WAREHOUSE DEPLOYMENTS

QLIKVIEW SCALABILITY BENCHMARK WHITE PAPER

Connect Install Guide

Sentences Installation Guide. Sentences Version 4.0

J2EE DIAGNOSING J2EE PERFORMANCE PROBLEMS THROUGHOUT THE APPLICATION LIFECYCLE

Enabling Efficient and Scalable Zero-Trust Security

System recommendations for version 17.1

HP ProLiant DL380 Gen8 and HP PCle LE Workload Accelerator 28TB/45TB Data Warehouse Fast Track Reference Architecture

In the most general sense, a server is a program that provides information

QLIKVIEW SCALABILITY BENCHMARK WHITE PAPER

HIGH PERFORMANCE SANLESS CLUSTERING THE POWER OF FUSION-IO THE PROTECTION OF SIOS

Benchmark Performance Results for Pervasive PSQL v11. A Pervasive PSQL White Paper September 2010

PHEWR Installation Guide (version 3)

IBM TXSeries for Multiplatforms, Version 6.1

Gen 6 Fibre Channel Evaluation of Products from Emulex and Brocade

SQL Server 2005 on a Dell Scalable Enterprise Foundation

7/12/2010 Microsoft Corporation Microsoft Windows Server AppFabric vs. IBM WebSphere extreme Scale 7 Benchmark Report Page 1

ADOBE CREATIVE SUITE 5: PRICING OVERVIEW

Qlik Sense Performance Benchmark

McAfee VirusScan and McAfee epolicy Orchestrator Administration Course

Implementing SQL Server 2016 with Microsoft Storage Spaces Direct on Dell EMC PowerEdge R730xd

Delphi XE. Delphi XE Datasheet

SCALING UP VS. SCALING OUT IN A QLIKVIEW ENVIRONMENT


Performance and Scalability Benchmark: Siebel CRM Release 7 on HP-UX Servers and Oracle9i Database. An Oracle White Paper Released October 2003

Primavera Compression Server 5.0 Service Pack 1 Concept and Performance Results

Gert Franz Railo Technologies CFUnited 2009

IBM InfoSphere Data Replication s Change Data Capture (CDC) for DB2 LUW databases (Version ) Performance Evaluation and Analysis

Oracle Event Processing Extreme Performance on Sparc T5

HP ProLiant DL580 G5. HP ProLiant BL680c G5. IBM p570 POWER6. Fujitsu Siemens PRIMERGY RX600 S4. Egenera BladeFrame PB400003R.

Quickly Pinpoint and Resolve Problems in Windows /.NET Applications TECHNICAL WHITE PAPER

Virtuozzo Containers

Accelerate Applications Using EqualLogic Arrays with directcache

Agile Platform 6.0 System Requirements

Microsoft RemoteFX for Remote Desktop Virtualization Host Capacity Planning Guide for Windows Server 2008 R2 Service Pack 1

Aerospike Scales with Google Cloud Platform

Competitive Power Savings with VMware Consolidation on the Dell PowerEdge 2950

Perceptive Experience Web Scan

Supra-linear Packet Processing Performance with Intel Multi-core Processors

Diplomado Certificación

Symantec Protection Center Getting Started Guide. Version 2.0

Condusiv s V-locity Server Boosts Performance of SQL Server 2012 by 55%

Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms

Technical and Architectural Overview

The Oracle Database Appliance I/O and Performance Architecture

Estimate performance and capacity requirements for InfoPath Forms Services 2010

SecureAware Technical Whitepaper

Locking Down ColdFusion Pete Freitag, Foundeo Inc. foundeo

Web Serving Architectures

Dispatcher. Phoenix. Dispatcher Phoenix Enterprise White Paper Version 0.2

PeopleSoft Internet Architecture

McAfee epolicy Orchestrator 4.5 Hardware Sizing and Bandwidth Usage Guide

Perceptive Data Transfer

WebSphere Application Server 6.1 Base Performance September WebSphere Application Server 6.1 Base Performance

Prerequisites for Using Enterprise Manager with Your Primavera Applications

Transcription:

White Paper Adobe ColdFusion 8 performance brief The fastest version yet, Adobe ColdFusion 8 enables developers to build and deploy Internet applications and web services that perform with exceptional speed and stability. Table of contents Executive summary................ 1 Statistics summary.............2 Performance Enhancements in ColdFusion 8....................3 Overall Server Performance........3 Specific Area Performance.........4 CFC (ColdFusion Component) Creation and Invocation........4 CFSwitch/CFCase...............5 List Manipulation...............5 Adobe ColdFusion 8 Standard vs Enterprise Performance............6 New Performance-Focused Features of ColdFusion 8...........6 CFThread.......................6 FileFunctions................... 7 Impact of JDK on ColdFusion 8 Performance......................8 Summary..........................8 APPENDIX.........................9 Defining application performance...................9 Test Applications and Scripts.....9 Test Configuration..............9 ColdFusion Server Settings...... 10 Test Methodology............. 11 Additional Performance Tuning provided by Adobe ColdFusion 8................... 11 Reproducing the results.......12 Executive summary Adobe ColdFusion 8 software strengthens the proven performance of Macromedia ColdFusion MX 7 to deliver applications capable of processing significantly more page requests than applications from any previous versions of ColdFusion. ColdFusion 8 has new features such as CFThread, file-functions, and Stored Procedure Caching that enable users to develop better performing applications. Administrators can also tune ColdFusion 8 for increased performance with additional server monitoring and profiling controls such as Disable CFC type checking and request controls. Overall Server Performance of Adobe ColdFusion 8 is up to 4.25 times faster than Macromedia ColdFusion MX 7. 20 18 16 14 12 10 8 6 4 2 CanvasWiki performance chart 42.70 181.57 Figure 1. shows Canvas Wiki is 4.25 times faster in ColdFusion 8 compared with ColdFusion MX 7.0.2. 1

Performance improvement in specific functional areas of ColdFusion 8 is up to 38.7 times faster than ColdFusion MX 7.0.2. CFParam performance chart 35 344.03 30 25 20 15 10 5 8.87 v. 6.1 9.70 Figure 2. shows CFParam is 38.7 times faster in ColdFusion 8 than ColdFusion MX 7.0.2 and 35.4 times faster than ColdFusion MX 6.1. Statistics Summary Following sections outline the performance gains demonstrated by ColdFusion 8 over ColdFusion MX 7.0.2 and ColdFusion MX 6.1 by category. Overall server performance Area Improvement over Improvement over v. 6.1 Overall server performance (CanvasWiki) 4.25X NA Overall server performance (BlogCFC) 48% 45% Table 1. Overall server performance gains in ColdFusion 8 compared to ColdFusion MX 7.0.2 and ColdFusion MX 6.1. Specific area performance Area Improvement over Improvement over v. 6.1 CFParam 38.7X 35.4X CFC creation and invocation 23.1X 7.1X REReplaceNoCase 7.5X 7.5X CFForm 7% NA Date functions 6X 6X Evaluate 2.9X 2.8X List functions 3X 3X CFSwitch/CFCase 2.7X 4.3X REFindNoCase 2.7X 2.7X ColdFusion structures 1.9X 1.9X IsDefined 2X 10% Table 2. ColdFusion 8 performance gains in specific areas ColdFusion 8 compared with ColdFusion MX 7.0.2 and ColdFusion MX 6.1. 2

Performance enhancements in ColdFusion 8 Extensive internal performance enhancements were made with ColdFusion 8. The entire ColdFusion MX 7.0.2 code base was analyzed by running real-world applications on special ColdFusion MX 7.0.2 installs built with instrumentation. Nearly 100 customer applications consisting of approximately 2.4 million lines of ColdFusion Markup Language (CFML) code were used to analyze CFML usage patterns and find bottlenecks in real-world customer settings. When issues arose, the server runtime code was modified to eliminate them. As each bottleneck was uncovered and removed, each change was individually measured to gauge its performance impact on the server. Most changes were small, resulting in incremental improvements as small as 1 2%, but their cumulative effect is substantial. Specific areas such as ColdFusion components (CFC) and structures were analyzed for performance bottlenecks and tuned for optimum performance. Substantial performance gains were obtained in these areas (as shown in Table 2), which further contributed to the overall server performance. Overall server performance We measured gains in application runtime performance by comparing throughput in a test application on ColdFusion MX 6.1, ColdFusion MX 7.0.2, and ColdFusion 8. Throughput is defined as the number of requests from the server per second. To compare overall server performance, we used CanvasWiki and BlogCFC. These applications represent typical contentcentric web applications found on the Internet or intranets that extensively use CFML tags and CFCs. While actual performance gains by other applications will vary depending on scope and complexity, it is important to note that the BlogCFC and CanvasWiki applications were not modified specifically for this white paper. As a result, real-life customer applications may or may not realize comparable results by using similar applications and server configurations. The testing methodology, details of the test configuration, and test applications are available in the appendix. When CanvasWiki was used with ColdFusion 8, it performed 4.25 times faster than when used with ColdFusion MX 7.0.2. CanvasWiki is not supported by ColdFusion MX 6.1. CanvasWiki performance chart 20 18 181.57 16 14 12 10 8 6 4 42.7 2 Figure 3. shows 4.25X performance gain on ColdFusion MX 7.0.2 in CanvasWiki application. 3

When the BlogCFC application was used with ColdFusion 8, it performed 48% faster than ColdFusion MX 7.0.2 and 45% faster than ColdFusion MX 6.1. BlogCFC performance chart 20 184.43 18 16 14 12 10 8 6 126.97 124.40 4 2 v. 6.1 Figure 4. shows 48% performance gain on ColdFusion MX 7.0.2 and 45% on ColdFusion MX 6.1in BlogCFC application. Specific area performance CFC (ColdFusion Component) creation and invocation ColdFusion 8 dramatically improves the performance of CFC, a core ColdFusion feature. CFC creation performance is 23 times faster in Adobe ColdFusion 8 compared with ColdFusion MX 7.0.2 and 7.1 times faster when compared with ColdFusion MX 6.1. Details about the script and source code used in these measurements can be found in the appendix. 7 Components performance chart 69.43 6 5 4 3 2 1 9.70 3.00 v. 6.1 Figure 5. shows performance gains of 23.1X in Adobe ColdFusion 8 as compared to ColdFusion MX 7.0.2 and 7.1X as compared to ColdFusion MX 6.1. 4

CFSwitch/CFCase CFSwitch/CFCase is one of the most widely used tags in ColdFusion. In ColdFusion 8, it performed 2.7 times faster than ColdFusion MX 7.0.2 and 4.3 times faster than ColdFusion MX 6.1. CFSwitch/CFCase performance chart 25 244.33 20 15 10 89.17 5 56.37 v. 6.1 Figure 6. shows CFSwitch/CFCase is 2.7 times faster in ColdFusion 8 than ColdFusion MX 7.0.2 and 4.3 times faster than ColdFusion MX 6.1. List manipulation The lists and list manipulation functions, which are widely used in ColdFusion applications, perform significantly faster in ColdFusion 8 than in previous versions of ColdFusion. We used a ColdFusion template that created lists and used the list manipulation functions for testing. In ColdFusion 8, list functions are three times faster than in ColdFusion MX 7.0.2 and ColdFusion MX 6.1. 12 List functions performance chart 10 103.27 8 6 4 33.53 34.37 2 v. 6.1 Figure 7. List Functions are 3 times faster in ColdFusion 8 than ColdFusion MX 7.0.2 and ColdFusion MX 6.1. 5

Performance of ColdFusion 8 Standard Edition vs. Enterprise Edition ColdFusion 8 is available in two editions: Standard and Enterprise. PDF document generation in ColdFusion 8 Enterprise Edition uses enhanced tuning and a multithreaded architecture to deliver linear scalability under load to accommodate high-volume document generation applications. ColdFusion 8 Enterprise Edition scales better under load than Standard Edition. Scalability in Adobe ColdFusion 8 Standard and Enterprise editions 6,000 5,000 Number of PDF files generated in 5 minutes 4,000 3,000 2,000 1,000 Enterprise Standard 1 2 5 10 Number of virtual users Figure 8. shows CF8 is scales better in Enterprise version than Standard. The appendix lists the scripts and administrator settings used for this test. ColdFusion 8 Enterprise Edition also delivers linear scalability under load and enhanced tuning for the applications listed in Table 3. Document services PDF form processing PDF document manipulation Server-side printing Presentation generation PDF generation FlashPaper generation Structured reporting Exchange server integration Multithreaded CFML (CFTHREAD) Dynamic e-mail Advanced protocol support Gateway architecture Enterprise IM gateways (sametime, XMPP) Asynchronous CFML gateway SMS gateway JMS gateway TCP/IP socket gateway Directory watcher gateway Table 3. Types of applications that scale better in ColdFusion 8 Enterprise Edition compared with ColdFusion 8 Standard Edition. New performance features CFThread ColdFusion 8 introduces a new CFML-based tag that enables application developers to quickly and easily add powerful multithreading capabilities to server applications with the new, CFThread tag. This enables asynchronous processing in CFML, which harnesses the power of today s processors to vastly improve overall user response times where long-running tasks are made up of autonomous processing steps and processed synchronously today. This powerful capability has a significant effect on user response time for web applications, especially Adobe Flex and Ajax applications where many server-side requests are made from a browser and server response delays can make an application appear unresponsive. 6

An example scenario where asynchronous multithreading may be applied is illustrated in Figure 10: 0.25 sec Sequential processing Order completed Complete Order 0.75 sec Notify Finance Total elapsed time (5 seconds) 0.5 sec 1.5 sec 2 sec Update Inventory Send Mail Notify Dispatch Order submitted Figure 10. shows various tasks in a sample sequential order processing workflow. In this example, total elapsed process response time can be reduced from five seconds to two seconds, since all steps can be performed in parallel using separate threads and the new CFThread tag. Multithreaded processing with ColdFusion 8 and CFThread 2 sec 2 sec 1.75 sec Total elapsed time (2 seconds) 1.5 sec 1.25 sec 1 sec.75 sec.5 sec Notify Dispatch 1.5 sec Send Mail Update Inventory 0.5 sec Notify Finance 0.75 sec Complete Order.25 sec 0.25 sec 0 sec Order submitted Figure 11. shows the performance improvement, from 5 seconds to 2 seconds total elapsed time, if this task is achieved using CFThread to perform the asynchronous tasks when compared to if the tasks are performed sequentially. File functions File functions are introduced for the first time in ColdFusion 8 to solve the performance issue with CFFile reading large files. The graph shows the performance improvement in terms of the number of files processed across file sizes by using new file processing capabilities available with ColdFusion 8 compared with those available in ColdFusion MX 7. 7

Performance of file operations 6,000 5,630 5,000 ColdFusion MX 7 Number of files processed 4,000 3,000 2,000 3,096 3,845 ColdFusion 8 1,000 0 153 20MB 345 1,477 1,257 778 587 311 10MB 5MB 2MB 1MB Sample file size Figure 12. shows CF8 file functions do a faster file processing when compared to CF7. Impact of JDK on ColdFusion 8 performance ColdFusion 8 ships JDK 1.6_01 as the default JDK. However, the performance gains exhibited in our tests are marginally attributed to the JDK upgrade. The vast majority of performance gains in ColdFusion 8 are because of a substantial product tuning effort. To substantiate this assertion, we performed tests running JDK (JDK 1.4.2_09) on ColdFusion 8, ColdFusion MX 7.0.2, and ColdFusion MX 7. Specific area performance on the same JDK (JDK 1.4.2_09) Area Response time v. 7 Response time Response time with JDK 1.4.2_09 Response time with JDK 1.6 CreatObject in CFLOOP (1 10000) CFParam in CFLOOP (1 10000) 1094ms 5344ms 172ms 110ms 794ms 828ms 250ms 171ms CFSet in CFLOOP (1 1000000) 813ms 843ms 260ms 180ms Array Creation in CFLOOP (1 100000) Struct Creation in CFLOOP (1 100000) 125ms 130ms 60ms 33ms 156ms 156ms 94ms 51ms Table 4. Performance gains in specific areas of ColdFusion 8 compared with ColdFusion 7.0.2 and ColdFusion 7 running on the same JDK. These tests were performed by wrapping the code with GetTickCount() and averaging the results across multiple runs. Summary ColdFusion 8 enables developers to build and deploy Internet applications and web services that perform with exceptional speed and stability on servers under load. Continued enhance ments in runtime performance and compiler performance make ColdFusion 8 the best version of ColdFusion for developers and users. ColdFusion 8 Enterprise Edition is an ideal solution for delivering multiple websites and applications on one or more servers or on existing J2EE application server installations. It features all the capabilities of ColdFusion 8 Standard Edition, plus special features for managing multi-application environments, asynchronous processing, and many other features that enable highly scalable and reliable implementations of important business applications. 8

Appendix Defining application performance A high-performing application delivers content to users quickly. In this performance brief, application performance was analyzed in terms of page response time, which is the time that elapses between a submitted request (such as clicking a submit button, manually entering a URL, or clicking a link) and completion of that request. A lower response time per request allows the application to deliver more content to more users in a given period of time (higher throughput). Three factors have considerable impact on page response time: Web application server architecture and configuration Network infrastructure Web page design All three factors are important and web applications will not function efficiently if any one is neglected. This brief, however, focuses solely on web application server architecture and configuration. In particular, it examines page response times in different versions of ColdFusion. This performance brief measures gains in application runtime performance by comparing average page response times in a test application across ColdFusion 8 and earlier versions of ColdFusion. Like many large-scale content management applications, the application used in these tests makes intensive use of ColdFusion Markup Language (CFML). Applications that depend more on database transactions or I/O operations may experience less significant performance gains than the application tested for this white paper, since those factors depend less on the application server. Test applications and scripts For specific area performance, a separate CFML script was created for each area. Each script covered most of the functionality in that area and were authored in such a way that more processing occured in the script than in request processing. The ColdFusion applications used were BlogCFC 5.8.001 (http://blogcfc.riaforge.org/ index.cfm) and CanvasWiki 2.003 (http://canvas.riaforge.org). (We would like to thank Raymond Camden for giving us permission to use his applications.) Both applications represent typical content-centric web applications and make extensive use of CFML tags and CFCs. However, BlogCFC is more database-centric than CanvasWiki, and CanvasWiki is more CFC-centric than BlogCFC. While perfor mance gains in other applications will vary depending on the scope and complexity of the application, it is important to note that BlogCFC was not tuned for this white paper. As a result, customer applications with similar server configurations may not realize results presented in this performance brief. Test configuration ColdFusion 8 is available in Standard Edition and Enterprise Edition and may be deployed in several configurations, depending on edition, application needs, and server environment. ColdFusion Enterprise Edition may be deployed in one of three configurations: standalone or server, multiserver, or J2EE. In the server configuration, the underlying J2EE application server, JRun, is not exposed to the user or application administrator. The multiserver configuration supports multiple virtual instances of ColdFusion running on a single physical server providing increased availability, application isolation, improved application-level configuration, and clustering. In the J2EE configuration, ColdFusion 8 is deployed on an existing installation of a standard J2EE application server, such as IBM WebSphere or BEA WebLogic. We have used the standalone configuration for testing. ColdFusion MX 6.1, ColdFusion MX 7.0.2, and ColdFusion 8 were set up to use IIS Web Server 6.0, and each was set up on a different website. During the collection of results, the appropriate website was turned on, and others were turned off. 9

The test applications and the individual performance scripts were run with ColdFusion MX 6.1, ColdFusion MX 7.0.2, and ColdFusion 8 (Build 173894) on Microsoft Windows 2003 with the following specifications: Windows 2003 Enterprise Edition with Service Pack 2 Microsoft Internet Information Server 6.0 HP ProLiant DL360 G5 Two 2GHz Intel Xeon Dual-Core 5130 processors 4GB of RAM The back-end database was on a separate system with the following specifications: Windows 2003 Enterprise Edition with Service Pack 2 Microsoft Internet Information Server 6.0 SQL Server 2005 HP ProLiant DL360 G5 Two 2GHz Intel Xeon Dual-Core 5130 processors with 1333MHz front-side bus 2GB of RAM The client was on a separate system with the following specifications: Windows 2003 Enterprise Edition with Service Pack 2 HP ProLiant DL360 G5 Two 2GHz Intel Xeon Dual-Core 5130 processors with 1333MHz front-side bus 2GB of RAM The paging file size on the test systems was increased to 4GB. Visual settings were set for Best Performance instead of Best Appearance. ColdFusion server settings ColdFusion MX 6.1 RDS disabled Trusted cache enabled Enabled white-space management CF documentation not installed Max number of JRun threads: 20 Max Flash Remoting requests: NA Max web service requests: NA Max CFC function requests: NA Max number of simultaneous templates: 20 xmx: 512M ColdFusion 8 RDS disabled CF documentation not installed Trusted cache enabled Enable white-space management Max number of JRun threads: 50 Max Flash Remoting requests: 1 Max web service requests: 1 Max CFC function requests: 1 Max number of simultaneous templates: 20 xmx: 512M ColdFusion MX 7 RDS disabled CF documentation not installed Trusted cache enabled Enable white-space management Max number of JRun threads: 20 Max Flash Remoting requests: NA Max web service requests: NA Max CFC function requests: NA Max number of simultaneous templates: 20 xmx: 512M 10

Deviations from ColdFusion server settings For Application testing, Scalability and File Functions For CFThread testing ColdFusion MX 7.0.2 Max number of simultaneous templates: 10 Max number of JRun Threads: 10 ColdFusion 8 Max number of simultaneous templates: 10 Max number of JRun threads: 10 ColdFusion MX 6.1 Max number of simultaneous templates: 10 Max number of JRun threads: 10 ColdFusion MX 7.0.2 Max number of simultaneous templates: 10 Max number of JRun threads: 10 ColdFusion 8 Max number of simultaneous templates: 10 Max number of JRun threads: 113 Max number of threads for CFThread: 100 ColdFusion MX 6.1 Max number of simultaneous templates: 10 Max number of JRun threads: 10 Test methodology For testing applications, simultaneous HTTP requests were generated to simulate 30 no-thinktime virtual users. This simulated activity tested thresholds between approximately 2 to 15 million requests per day. Each stress test was performed multiple times to confirm the accuracy of the results. The results were averaged and presented in this document. In real-world web applications, most session time is spent waiting for the user to do something. This is particularly true for content-centric websites, where a large portion of time is spent reading web pages. While a large website or application may have hundreds of open user sessions, only a few dozen of these sessions are actively submitting requests to the application server. It is difficult to realistically simulate user pauses and mistakes in software testing and thus user pauses were not included in this testing. As a result, 30 simultaneous virtual user sessions do not represent 30 simultaneous users. While it is difficult to generalize the exact ratio of open sessions to active sessions because of the differences among web applications, a test using 30 virtual users most likely translates to approximately 600 open user sessions. Additional performance tuning provided by ColdFusion 8 Additional performance tuning parameters provided by ColdFusion 8 can be tuned to achieve optimum performance. Server monitoring and profiling helps ColdFusion developers and users identify performance bottlenecks in their applications. Server Monitor The ColdFusion 8 Server Monitor enables you to track activities on a ColdFusion server. You can identify information about the server including requests, queries, memory usage, and errors. You can also start and stop collecting server information and take snapshots of the server. For more information about server monitoring, refer to ColdFusion 8 documentation. Disable CFC type check This tuning control is available in the ColdFusion Administrator under the settings section. When checked, UDF arguments of the CFC type are not validated, resulting in an increase of performance. The arguments are treated as type ANY. Use this setting in a production environment only. Request tuning Request tuning is a new section in the ColdFusion 8 administrator under Server Settings. The following request types control the number of simultaneous requests that can be processed. CFM page requests CFC method invocations (via an HTTP GET) Flash Remoting requests (old and new) Web service requests These settings are contained within the ColdFusion 8 code and work across all J2EE application servers. 11

Additionally, special provisions have been made to URLs beginning with /CFIDE. These requests will not be restricted the same as normal requests are and will always be let through. This allows administrators to log in to the ColdFusion Administrator, and run the Server Monitor when the server is heavily loaded. Note: If no requests are being processed and the J2EE server is queuing requests without passing the request along to the ColdFusion 8 servlets, administrators will not be able to run the Server Monitor or Administrator. Administrators do not need to restart ColdFusion 8 for configuration changes to take effect. The following are usage scenarios for request tuning: Scenario A A server is under severe normal load from CFM page requests and is virtually unresponsive. An administrator runs the server monitoring tool to find out which pages are being requested. Since the Flash Remoting requests are not subject to the same throttle as the CFM page requests, the administrator collects information about the heavily loaded server. Scenario B A user deploys an Ajax-based application using the new ColdFusion 8 Ajax features. His application URL is posted on SlashDot, and a large number of people use his application, causing thousands of CFC invocations to be made against the server. Since the CFC invocations and the CFM requests have a different pool, other CFM based applications will still run with reasonable throughput. Stored procedure caching CachedWithin and CachedAfter have been added to the cfstoredproc tag and can be used to cache the stored procedure results. Refer to the documentation on cfstoredproc for additional information. Reproducing the results To reproduce the results mentioned in this document, unzip CF8PerfTest.zip from the location http://download.macromedia.com/pub/coldfusion/8/performance/cf8_perftest.zip and follow the instructions in the Readme.txt file. Adobe Systems Incorporated 345 Park Avenue San Jose, CA 95110-2704 USA www.adobe.com Adobe, the Adobe logo, ColdFusion, Flash, FlashPaper, Flex, JRun, and Macromedia are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Intel and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States 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. 2007 Adobe Systems Incorporated. All rights reserved. Printed in the USA. 95009575 7/07