Available Performance Testing Tools Technical Paper ImageNow Version: 6.7. x Written by: Product Documentation, R&D Date: August 2013
2013 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact, and WebNow are trademarks of Lexmark International Technology SA, registered in the U.S. and other countries. Perceptive Software is a stand-alone business unit within Lexmark International Technology SA. All other brands and product names mentioned in this document are trademarks or registered trademarks of their respective owners. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or any other media embodiments now known or hereafter to become known, without the prior written permission of Perceptive Software.
Table of Contents ImageNow Performance Tools... 4 Mock Data Tools... 4 iscript... 4 AddPages... 4 Running Test Case Scenarios... 4 Siege... 5 WebNow Load Simulator... 5 Epic Load Simulator... 5 Using Intermediary API Interfaces... 5 iscript... 5 Message Agent... 6 Integration Server... 6 Third Party Tools... 6 HP Loadrunner... 6 Gathering Performance Metrics... 7 PerfStats... 7 Perfmon... 7 Unix Tools... 7 Available Performance Testing Tools Technical Paper Page 3 of 7
ImageNow Performance Tools Perceptive Software offers several tools to test ImageNow system performance. These performance tools enable you to create mock data of key components in your system and run test case scenarios, such as simulating large numbers of ImageNow Client connections to ImageNow Server. You can model key behaviors for performance testing using scripts and intermediary API interfaces such as Message Agent. You can also run performance tests using third party tools. This document describes the tools you can use. Each section contains a description of the tool s purpose and functionality. Each tool is best suited for certain situations or environments. This document groups the available performance tools by purpose. The tools listed in this document include tools provided by Perceptive Software products, tools available by request, or tools provided by a listed third party. Of these tools, iscript is provided with ImageNow Server. Integration Server and Message Agent are available with a specific license. Some of the Perceptive Software tools, including AddPages, Siege, WebNow Load Simulator, and Epic Load Simulator, are packaged as the ImageNow Performance Tools Suite. For more information about the ImageNow Performance Tools Suite and accompanying services, contact your Account Executive. Mock Data Tools The following tools create mock data for testing. Of the two, iscript is more equipped to treat and test its own sample data, but both are excellent data generators. iscript ImageNow iscript is an ECMA compliant scripting language that interacts with ImageNow Server. iscript interface objects model key components and behaviors of the ImageNow environment. With these objects, iscript can perform many functions including creating and storing new documents, processing items through workflow, and performing searches with views. iscript is limited to the capabilities of the provided interface objects and does not include a method for every server call, nor can it reproduce all client-side business logic. Refer to iscript Help for a description of full capabilities. iscript is useful for creating complex testing data based on external applications or sources. For example, iscript can access third party databases outside of the ImageNow environment to generate keys or metadata for test documents. AddPages You can use the AddPages tool to generate large numbers of documents and metadata in ImageNow. Use this tool for creating mock data for analysis during performance testing. You can individually configure the content and properties of the generated documents so the documents vary enough to simulate several performance testing scenarios. AddPages is the most effective way to create quickly large volumes of objects (typically images) in the system. Running Test Case Scenarios The load simulators, Epic Load Simulator, WebNow Load Simulator, and Siege, exercise functionality for existing ImageNow Clients. Siege models the MFC ImageNow Client, WebNow Load Simulator models the Java applet based client, and Epic Load Simulator models the ImageNow Epic Viewer. Available Performance Testing Tools Technical Paper Page 4 of 7
Siege You can use Siege for simulating the actions of many ImageNow Client connections to the ImageNow Server. Siege is capable of producing the load of many connected users with a single, easy-to-configure executable. Siege can create as many ImageNow Client connections as the local hardware and network allow. Perceptive Software developed this tool using the same technologies as ImageNow Client, making it capable of reproducing a simulation of the ImageNow Client including client-side business logic, privileges for users, license enforcement, and file caching. The work that each Siege connection performs is controlled by a Siege Test Case. Test Cases simulate stochastic behaviors typical of end users in ImageNow, determine what business logic is reproduced, and control the quantity of actions (overall load against the system). Due to the complexity of Siege, you can only obtain Test Cases from Perceptive Software. Siege and its Test Cases are version specific and require specific configuration of the ImageNow environment. Perceptive Software routinely creates new Test Cases that exhibit real world behaviors for a variety of business processes. Siege is ideally suited for performance testing involving large, reproducible client loads against ImageNow Server, such as when testing changes to server and database hardware in the ImageNow environment. Siege can also create a background load for individual user testing or business process testing. For example, while generating a load against the ImageNow Server via Siege, a user can observe the responsiveness of viewing a document in ImageNow Client. WebNow Load Simulator The WebNow Load Simulator simulates many user connections to the WebNow Servlet. User connections exercise the same API and business objects available to the WebNow applet. Like Siege, the WebNow Load Simulator runs Test Cases, which control the actions, behaviors, and quantity of user connections. Users can test the performance of the WebNow Servlet and ImageNow Server with this tool. Epic Load Simulator The Epic Load Simulator simulates many user connections to the ImageNow Interact for Epic Servlet. User connections exercise the same API and business objects available to the Interact for Epic Viewer. The Epic Load Simulator uses a generic use case for the Epic Viewer, which involves retrieving a random document, caching the pages and metadata, and digitally signing the document. Using Intermediary API Interfaces The following tools use standard web service connector languages to harness data functionality through newly created drivers. iscript is included with the ImageNow Server; however, Message Agent is sold separately. iscript Although iscript is not an intermediary API interface, it has applications in the same testing scenarios as Message Agent. You can use iscript to simulate load that may come from applications outside of ImageNow. iscript can also test at a solution level by interacting with various parts and stages of a solution. Available Performance Testing Tools Technical Paper Page 5 of 7
Message Agent Message Agent provides a SOAP based web service interface for ImageNow Server. Various web services are available for user access, document and workflow functionality. These services can create advanced integrations specific to your business process, such as custom web portals or integration with a homegrown application. Applications can use the Message Agent API for both generic performance testing and load generation as well as custom business process simulation. For example, using the Message Agent API, you can create performance test cases with a custom application. Integration Server This tool provides an interface for exercising the server-side functionality of ImageNow using language standard for RESTful and SOAP-based Web Services. You can access Integration Server documentation through online Help available with the product or through the Perceptive Software website, on the Customer Portal, in the Product Documentation tab. Integration Server has functionality available for the following categories: application plans, capture activities (profiles, document groups and sources), digital signatures, document types, documents, drawers, folders, forms, workflow (queues and items), tasks, and views. By design, these functions simulate routine end user activities. You can use Integration Server during performance testing to help simulate load on the core ImageNow Server and the database. This simulation is particularly helpful when your solution uses a variety of custom integrations with other applications. If both Message Agent and Integration Server are available and all other system specifications are met, Integration Server is recommended for use over Message Agent in light of advances in functionality and integrated solutions usage in future ImageNow releases. We recommend that you use Integration Server rather than Message Agent when all other system specifications are met. Third Party Tools Performance testing tools developed outside Perceptive Software provide limited testing capabilities with ImageNow. Perceptive Software cannot guarantee the technical accuracy of any third party product used to simulate connections to the ImageNow environment. HP Loadrunner The Hewlett Packard (HP) Loadrunner tool, available through HP, can quantify a software solution s performance. It automates generating load, monitoring behavior, and measuring performance. The capabilities of HP Loadrunner with ImageNow are currently limited to interaction with ImageNow Message Agent and Integration Server. Message Agent provides SOAP and Integration Server provides RESTful web service endpoints, respectively, for the ImageNow Server. Perceptive Software does not provide support or assistance for using HP Loadrunner with ImageNow products. Available Performance Testing Tools Technical Paper Page 6 of 7
Gathering Performance Metrics The following tools record and analyze key performance metrics for the systems and software in ImageNow. PerfStats PerfStats gathers performance statistics for ImageNow Server, ImageNow agents, ImageNow Client, and INSiege. You can activate this statistic tracking for server calls, SQL queries, OSM storage, message queue actions, workflow actions, and jobs in the INOW.ini file on ImageNow Server. Perfstats and the Real Time Telemetry System are available in ImageNow Server. Perfstat logs are useful in identifying long running queries, slow server calls, and overall throughput. Data is gathered at configurable intervals and includes statistical analysis on average call duration, times executed, and category summaries. For more information, refer to the Real Time Telemetry System (RTTS) topics in ImageNow Administrator Help. Perfmon Perfmon is a performance-monitoring tool included with Microsoft Windows that is useful for determining hardware and resource bottlenecks in a system. You can use Perfmon to monitor the overall performance of a Windows host machine and any specific process running in the environment. The tool includes performance counters that monitor processor, memory, disk, and network utilization. Unix Tools A variety of system performance monitoring tools, such as sar, vmstat, top, and iostat, are available for Unix and Linux environments. Contact your operating system vendor for more details about these tools. Available Performance Testing Tools Technical Paper Page 7 of 7