Testování Výkonu Jboss AS V Závislosti Na Použité JVM

Total Page:16

File Type:pdf, Size:1020Kb

Testování Výkonu Jboss AS V Závislosti Na Použité JVM MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Testování výkonu JBoss AS v závislosti na použité JVM DIPLOMOVÁ PRÁCE Tomáš Vlček Brno, jaro 2013 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. ...................................... Tomáš Vlček Vedoucí práce: Mgr. Marek Grác i Poděkování Na tomto místě bych rád poděkoval panu Mgr. Marku Grácovi za vedení této práce a zajištění všech formálních záležitostí, panu Ing. Pavlu Tišnovskému, Ph.D. za odborná doporučení a rady nejen ohledně JBoss aplikačního serveru, ale i k práci obecně a kolegovi Mgr. Petru Křemenskému za pomoc při řešení problémů této práce a poskytnutí testovacího programu, který vznikal v rámci jeho diplomové práce. Dále mé díky patří rodině a přátelům, kteří mě v průběhu psaní práce podporovali a pomohli mi s jazykovou korekturou. ii Shrnutí Tato práce má za cíl analýzu, návrh a provedení výkonnostních testů na aplikačním serveru JBoss. Součástí práce je i shrnutí ostatních benchmarkových aplikací, které taktéž slouží k otestování výkonnosti aplikačních serverů. Práce je rozdělena na teoretickou a praktickou část, kde v části teoretické lze najít potřebný základ pro praktické testování a jsou zde obsaženy obecné informace o použitých virtuálních strojích Javy, ostatních aplikačních serverech a vzájemné spolupráci. V praktické části lze nalézt vlastní realizaci výkonnostních testů, jejich hodnocení a návrhy na rozšíření této práce. iii Abstract This thesis aims to analyze, design and execute a performance tests on application server JBoss. One part of this thesis contains information of other benchmark applications for performance testing. The thesis is divided into theoretical and practical part. In the theoretical part can be found basis for practical testing and there are also information about Java Virtual Machines, other application servers and their cooperation. In the practical part can be found implementation of performance testing, tests evaluation and some extension ideas for this work. iv Klíčová slova JBoss, AS, JVM, Java Virtual Machines, benchmark, výkonnostní testování, performance testing, aplikační server, Java EE, Muni-shop v Obsah 1 Úvod ............................................................................................................................................... 1 2 Teorie měření výkonu aplikačních serverů ............................................................................ 3 2.1 Ukazatele pro měření výkonu ........................................................................................... 3 2.1.1 Dostupnost .................................................................................................................... 4 2.1.2 Doba odezvy.................................................................................................................. 4 2.1.3 Propustnost.................................................................................................................... 5 2.1.4 Využití, efektivita ......................................................................................................... 5 2.2 Aplikační servery.................................................................................................................. 5 2.2.1 Certifikace aplikačních serverů .................................................................................. 6 2.2.2 JBoss AS ......................................................................................................................... 7 2.2.3 WebLogic AS ................................................................................................................. 8 2.2.4 WebSphere AS .............................................................................................................. 8 2.2.5 Geronimo AS, TomEE AS ............................................................................................ 8 2.2.6 Ostatní AS ...................................................................................................................... 9 2.3 Ladění aplikačního serveru ............................................................................................... 10 2.3.1 Fond vláken ................................................................................................................. 10 2.3.2 Fond JDBC spojení ...................................................................................................... 11 2.3.3 JMS fond....................................................................................................................... 12 2.3.4 Bezstavové komponenty............................................................................................ 12 2.3.5 Cache ............................................................................................................................ 12 2.3.6 Záznam událostí ......................................................................................................... 13 2.4 Výkonnostní testování ....................................................................................................... 14 2.4.1 APM .............................................................................................................................. 15 2.4.2 Typy testů .................................................................................................................... 16 2.4.3 Budování zátěže .......................................................................................................... 17 2.4.4 Testování clusteru....................................................................................................... 19 2.5 Problémy .............................................................................................................................. 20 2.5.1 Složitost ........................................................................................................................ 21 2.5.2 Cena odstranění chyby .............................................................................................. 22 2.5.3 Izolované vs komplexní testy ................................................................................... 23 2.5.4 Důsledky ...................................................................................................................... 24 3 Java Virtual Machines .............................................................................................................. 25 3.1 Spolupráce s JVM ............................................................................................................... 25 3.1.1 JRE................................................................................................................................. 25 3.1.2 JDK ................................................................................................................................ 26 vi OBSAH 3.2 Součásti JVM ....................................................................................................................... 26 3.2.1 Správce paměti ............................................................................................................ 27 3.2.2 Bajtkód kontrolor ........................................................................................................ 27 3.2.3 Interpret / Kompilátor ................................................................................................ 28 3.3 Různé implementace JVM ................................................................................................. 29 3.3.1 OracleJDK .................................................................................................................... 30 3.3.2 OpenJDK ...................................................................................................................... 30 3.3.3 IBM JDK ....................................................................................................................... 31 3.3.4 jRockit ........................................................................................................................... 31 3.3.5 Méně rozšířené JVM ................................................................................................... 31 3.4 Ladění JVM .......................................................................................................................... 32 3.4.1 Životní cyklus objektů ............................................................................................... 32 3.4.2 Velikost JVM haldy .................................................................................................... 34 3.4.3 Komprimované ukazatele ......................................................................................... 35 3.5 Srovnání JVM ...................................................................................................................... 36 3.5.1 Podpora operačních systémů .................................................................................... 36 3.5.2 Velikost instalace ........................................................................................................ 37 4 Možnosti řešení .......................................................................................................................... 38 4.1 Existující řešení ................................................................................................................... 38
Recommended publications
  • Oracle Database Mobile Server, Getting Started Guide
    Oracle® Database Mobile Server Getting Started - Quick Guide Release 12.1.0 E58913-01 January 2015 This document provides information for downloading and installing the Database Mobile Server (DMS) and its dependencies. DMS uses a middle-tier application server to communicate between the mobile clients and the backend Oracle database. Different application servers are supported for DMS, including WebLogic Server, Oracle Glassfish, Glassfish Server Open Source Edition and Apache TomEE. 1 Introduction This Getting Started Guide demonstrates the following: ■ How to install DMS on top of Oracle Glassfish server on a Windows platform ■ How to create a publication using Mobile Development Workbench ■ How to publish the Transport Application to the Mobile Server ■ How to run the Transport Application on the client device See the sections below: ■ Section 1.1, "InstalIation of Java Development Kit (JDK)" ■ Section 1.2, "Installation Packages (for Windows)" ■ Section 1.3, "Installation of Oracle Database Express Edition (Oracle Database XE)" ■ Section 1.4, "Installation of Oracle Glassfish" ■ Section 1.5, "Installation of Database Mobile Server (DMS)" ■ Section 1.6, "Installation of Mobile Development Kit (MDK)" The following sections provide information on the transport demo and how to publish the transport application: ■ Section 2, "Transport Demo" ■ Section 3, "Publish the Transport Application" 1.1 InstalIation of Java Development Kit (JDK) You should use a supported JDK for DMS install. For information on what JDK to use, refer to Section 4.3.2 JDK Platform Support in the Installation Guide. To download JDK, go to: http://www.oracle.com/technetwork/java/javase/downloads/index.http Double click on the "Installation Executable" and go through the required installation steps.
    [Show full text]
  • Technique: HTTP the Java Way
    Technique: HTTP the Java way An article from Android in Practice EARLY ACCESS EDITION Charlie Collins, Michael D. Galpin, and Matthias Kaeppler MEAP Release: July 2010 Softbound print: Spring 2011 | 500 pages ISBN: 9781935182924 This article is taken from the book Android in Practice. The authors demonstrate how to send simple HTTP requests to a Web server using Java’s standard HTTP networking facilities. Tweet this button! (instructions here) Get 35% off any version of Android in Practice with the checkout code fcc35. Offer is only valid through www.manning.com. The standard Java class library already has a solution for HTTP messaging. An open-source implementation of these classes is bundled with Android’s class library, which is based on Apache Harmony. It’s simple and bare- bones in its structure and, while it supports features like proxy servers, cookies (to some degree), and SSL, the one thing that it lacks more than anything else is a class interface and component structure that doesn’t leave you bathed in tears. Still, more elaborate HTTP solutions are often wrappers around the standard Java interfaces and, if you don’t need all the abstraction provided, for example, by Apache HttpClient interfaces, the stock Java classes may not only be sufficient, they also perform much better thanks to a much slimmer, more low-level implementation. Problem You must perform simple networking tasks via HTTP (such as downloading a file) and you want to avoid the performance penalty imposed by the higher-level, much larger, and more complex Apache HttpClient implementation. Solution If you ever find yourself in this situation, you probably want to do HTTP conversations through a java.net.HttpURLConnection.
    [Show full text]
  • What's in Your Java Application
    What’s in your Java Application – is it safe? Can you ‘Shift Left’ to mitigate the risks? Nick Coombs, Regional Sales Director Andy Howells, Solutions Architect Win a GoPro Hero Session – scan an application • Full HD 1080p video up to 60 fps • 149° lens • Waterproof to 32 ft with included housing • Up to 2 hours recording • 8 megapixel still photos & time lapse mode 2 5/2/2016 What Projects do you use? • Apache Struts • Apache Mahout • Wildfly • Liferay • Glassfish • Apache Tomee • JBOSS • Websphere • Apache Tomcat 3 5/2/2016 Devops – The intersection of Agile, Lean and ITSM LEAN - Quality Agile - Speed ITSM - Control 4 5/2/2016 The modern software supply chain SUPPLIERS WAREHOUSES MANUFACTURERS FINISHED GOODS Open Source Projects Component Repositories Software Dev Teams Software Applications 3.7 million open source 32 billion download requests 11 million developers 80 - 90% component-based developers last year 160,000 organizations 106 components per Over 1.3M component 90,000 private component 7,600 external suppliers application versions contributed repositories in use used in an average 105,000 open source development organization 24 known security projects vulnerabilities per Once uploaded, always 27 versions of the same application, critical or available 6.2% of requests have component downloaded severe known security 3-4 yearly updates, no way 43% don’t have open vulnerabilities 9 restrictive licenses per to inform development source policies application, critical or teams 34% of downloads have 75% of those with policies severe restrictive licenses Mean-time-to-repair a don’t enforce them security vulnerability: 390 95% rely on inefficient 31% suspect a related 60% don’t have a complete days component distribution (or breach software Bill of Materials “sourcing”) practices.
    [Show full text]
  • SUSE® LINUX Enterprise Jeos 11 Novell® Software License Agreement
    NOTICE: This document includes the SUSE Linux Enterprise JeOS 11 Novell Software License Agreement followed by other license agreements. By indicating your acceptance of these terms, including by use, you are agreeing to the terms and conditions of each these agreements. SUSE® LINUX Enterprise JeOS 11 Novell® Software License Agreement PLEASE READ THIS AGREEMENT CAREFULLY. BY INSTALLING OR OTHERWISE USING THE SOFTWARE (INCLUDING ITS COMPONENTS), YOU AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE WITH THESE TERMS, DO NOT DOWNLOAD, INSTALL OR USE THE SOFTWARE. RIGHTS AND LICENSES This Novell Software License Agreement ("Agreement") is a legal agreement between You (an entity or a person) and Novell, Inc. ("Novell"). The software product identified in the title of this Agreement, together with any media and accompanying documentation, is referred to in this Agreement as the "Software." The Software is protected by the copyright laws and treaties of the United States ("U.S.") and other countries and is subject to the terms of this Agreement. Any update or support release to the Software that You may download or receive that is not accompanied by a license agreement expressly superseding this Agreement is Software and governed by this Agreement; You must have a valid license for the version and quantity of the Software being updated or supported in order to install or use any such update or support release. The Software is a modular operating system comprised of numerous components that may be accompanied by separate license terms. The Software is a collective work of Novell; although Novell does not own the copyright to every component of the Software, Novell owns the collective work copyright for the Software.
    [Show full text]
  • Open Source Used in Cisco Unity Connection 11.5 SU 1
    Open Source Used In Cisco Unity Connection 11.5 SU 1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-132949842 Open Source Used In Cisco Unity Connection 11.5 SU 1 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-132949842 Contents 1.1 ace 5.3.5 1.1.1 Available under license 1.2 Apache Commons Beanutils 1.6 1.2.1 Notifications 1.2.2 Available under license 1.3 Apache Derby 10.8.1.2 1.3.1 Available under license 1.4 Apache Mina 2.0.0-RC1 1.4.1 Available under license 1.5 Apache Standards Taglibs 1.1.2 1.5.1 Available under license 1.6 Apache STRUTS 1.2.4. 1.6.1 Available under license 1.7 Apache Struts 1.2.9 1.7.1 Available under license 1.8 Apache Xerces 2.6.2. 1.8.1 Notifications 1.8.2 Available under license 1.9 axis2 1.3 1.9.1 Available under license 1.10 axis2/cddl 1.3 1.10.1 Available under license 1.11 axis2/cpl 1.3 1.11.1 Available under license 1.12 BeanUtils(duplicate) 1.6.1 1.12.1 Notifications Open Source Used In Cisco Unity Connection
    [Show full text]
  • Oracle Database Mobile Server, Installation Guide
    Oracle® Database Mobile Server Installation Guide Release 11.3.0.1 E38579-02 April 2014 Oracle Database Mobile Server Installation Guide Release 11.3.0.1 E38579-02 Copyright © 2013, 2014, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Apache Harmony Project Tim Ellison Geir Magnusson Jr
    The Apache Harmony Project Tim Ellison Geir Magnusson Jr. Apache Harmony Project http://harmony.apache.org TS-7820 2007 JavaOneSM Conference | Session TS-7820 | Goal of This Talk In the next 45 minutes you will... Learn about the motivations, current status, and future plans of the Apache Harmony project 2007 JavaOneSM Conference | Session TS-7820 | 2 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 3 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 4 Apache Harmony In the Beginning May 2005—founded in the Apache Incubator Primary Goals 1. Compatible, independent implementation of Java™ Platform, Standard Edition (Java SE platform) under the Apache License 2. Community-developed, modular architecture allowing sharing and independent innovation 3. Protect IP rights of ecosystem 2007 JavaOneSM Conference | Session TS-7820 | 5 Apache Harmony Early history: 2005 Broad community discussion • Technical issues • Legal and IP issues • Project governance issues Goal: Consolidation and Consensus 2007 JavaOneSM Conference | Session TS-7820 | 6 Early History Early history: 2005/2006 Initial Code Contributions • Three Virtual machines ● JCHEVM, BootVM, DRLVM • Class Libraries ● Core classes, VM interface, test cases ● Security, beans, regex, Swing, AWT ● RMI and math 2007 JavaOneSM Conference | Session TS-7820 |
    [Show full text]
  • Ear Os Linux Download
    Ear os linux download The last version of eAR OS b was released in and was based on Ubuntu LTS Hardy Heron. Download. eAR OS b i eAR OS is an Ubuntu-based Linux distribution featuring the advanced, yet Screencasts. Download Mirrors, #fragment-3 •. Download eAROS Media Centre from our dedicated server. eAR OS comes with the very advanced and beautifully simple to operate eAR Media Center. Free Download eAR OS b - eAR OS is a state-of-the-art Linux operating system. You can either download eAR OS (free version) from their website or BitTorrent. Like the other Linux distributions, you can burn the ISO file as. It recently released eAR OS Free Edition, a free media center system You can install updates to the Media Center instead of downloading a. For Linux, a small tune is needed at build time. Need to compile libray for bit and for bit too. Then install these libraries to the OS preferred. Linux (Ubuntu, Debian, SuSE, Red Hat and all other distributions supporting Java If you are experiencing problems with starting Docear on Mac OS X, please. Docear is a unique solution to academic literature management, i.e. it helps you Docear recommends papers which are free, in full-text, instantly to download, and Docear is free, open source, available for Windows, Linux, and Mac OS X. You need to download the following software, and get a user license. μPILAR (). EN (includes ISO ). windows: [ download ] [ signature ]. Please select your download package: 32 (For Debian/Ubuntu) 64 (For Debian/Ubuntu) 32 (For Fedora/openSUSE) 64 (For.
    [Show full text]
  • Android Geeknight Presentation 2011-03
    Android Geek Night 3.0 Per Nymann Jørgensen [email protected] Niels Sthen Hansen [email protected] Android Geek Night 3.0 Android at a glance New features in Gingerbread & Honeycomb Demos & Code Android 101 Operating system targeting mobile devices/Tables devices Linux based - with additions Open source under the Apache License Allows development in Java Share of worldwide 2010 Q4 smartphone sales to end users by Or Scala, JRuby, Groovy .. operating system, according toCanalys.[35] Two new versions just came out.. Android 101 - Dalvik VM Virtual machine developed by Google for mobile devices Uses the Dalvik Executable (.dex) format Designed for limited processing power and memory Register-based architecture as opposed to stack machine Java VMs Class library based on Apache Harmony No AWT, Swing No Java ME Android 101 - SDK Android libraries The SDK and AVD manager, for maintaining the SDK components and creating virtual devices LogCat to capture logs from running device DDMS – Dalvik Debug Monitor Tools to convert Java .class files to Dalvik bytecode and create installable .apk files Plugin for Eclipse - Android Development Tools (ADT) Android 101 - Components Activity GUI Service non-GUI Broadcast Receiver Events Content Provider Exposing data/content across applications An Android application can be seen as a collection of components. Android API 10 New stuff New Sensors / New Sensor APIs Gyroscope Rotation vector Acceleration Linear acceleration (acceleration without gravity) Gravity (gravity without acceleration) Barometer (air pressure) Android API 10 New stuff NFC Short range wireless communication. Do not require discovery or pairing Supported mode as of 2.3.3 (reader/writer/P2P limited) Enable application like Mobile ticketing (dare we say rejsekort), Smart poster, etc.
    [Show full text]
  • Reading the Runes for Java Runtimes the Latest IBM Java Sdks
    Java Technology Centre Reading the runes for Java runtimes The latest IBM Java SDKs ... and beyond Tim Ellison [email protected] © 2009 IBM Corporation Java Technology Centre Goals . IBM and Java . Explore the changing landscape of hardware and software influences . Discuss the impact to Java runtime technology due to these changes . Show how IBM is leading the way with these changes 2 Mar 9, 2009 © 2009 IBM Corporation Java Technology Centre IBM and Java . Java is critically important to IBM – Provides fundamental infrastructure to IBM software portfolio – Delivers standard development environment – Enables cost effective multi platform support – Delivered to Independent Software Vendors supporting IBM server platforms . IBM is investing strategically in virtual machine technology – Since Java 5.0, a single Java platform technology supports ME, SE and EE – Technology base on which to delivery improved performance, reliability and serviceability • Some IBM owned code (Virtual machine, JIT compiler, ...) • Some open source code (Apache XML parser, Apache Core libraries, Zlib, ...) • Some Sun licensed code (class libraries, tools, ...) . Looking to engender accelerated and open innovation in runtime technologies – Support for Eclipse, Apache (Harmony, XML, Derby, Geronimo, Tuscany) – Broad participation of relevant standards bodies such as JCP and OSGi 3 Mar 9, 2009 © 2009 IBM Corporation Java Technology Centre IBM Java – 2009 key initiatives . Consumability – Deliver value without complexity. – Ensure that problems with our products can be addressed quickly, allowing customers to keep focus on their own business issues. – Deliver a consistent model for solving customer problems. “Scaling Up” - Emerging hardware and applications – Provide a Java implementation that can scale to the most demanding application needs.
    [Show full text]
  • Installation and Administration Guide
    Installation and Administration Guide Version 9.12 October 2016 This document applies to MashZone NextGen Version 9.12 and to all subsequent releases. Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions. Copyright © 2006-2016 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors. The name Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG and/or Software AG USA Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentioned herein may be trademarks of their respective owners. Detailed information on trademarks and patents owned by Software AG and/or its subsidiaries is located at hp://softwareag.com/licenses. Use of this software is subject to adherence to Software AG's licensing conditions and terms. These terms are part of the product documentation, located at hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s). This software may include portions of third-party products. For third-party copyright notices, license terms, additional rights or restrictions, please refer to "License Texts, Copyright Notices and Disclaimers of Third Party Products". For certain specific third-party license restrictions, please refer to section E of the Legal Notices available under "License Terms and Conditions for Use of Software AG Products / Copyright and Trademark Notices of Software AG Products". These documents are part of the product documentation, located at hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).
    [Show full text]
  • P6spy Documentation Release 3.9.2-SNAPSHOT
    p6spy Documentation Release 3.9.2-SNAPSHOT p6spy team Mar 05, 2021 Contents 1 P6Spy Installation 3 1.1 Application Servers:...........................................3 1.2 JBoss/WildFly..............................................4 1.3 Apache Tomcat and Apache TomEE...................................5 1.4 Glassfish and Payara...........................................6 1.5 Weblogic.................................................8 1.6 Generic Instructions...........................................9 2 Integrating P6Spy 11 2.1 Datasource way............................................. 11 2.2 Connection URL way.......................................... 11 2.3 Spring Boot autoconfiguration...................................... 11 2.4 Log file.................................................. 12 3 Configuration and Usage 13 3.1 Properties exposal via JMX....................................... 14 3.2 Command Line Options......................................... 14 3.3 Common Property File Settings..................................... 15 4 Release Notes 27 4.1 3.9.2 (Unreleased)............................................ 27 4.2 3.9.1 (2020-07-26)............................................ 27 4.3 3.9.0 (2020-04-04)............................................ 27 4.4 3.8.7 (2019-12-23)............................................ 27 4.5 3.8.6 (2019-09-24)............................................ 28 4.6 3.8.5 (2019-08-07)............................................ 28 4.7 3.8.4 (2019-08-04)............................................ 28 4.8 3.8.3
    [Show full text]