LogoLogo
EN
EN
  • Release Summary
  • What's new in 5.0.23.04
  • Deprecated and Removed features in 5.0.23.01
  • Get started with Avalant ONEWEB
    • Get started with Avalant ONEWEB
    • Traditional Development vs Low Code
    • ONEWEB Concepts
      • ONEWEB Apps
      • ONEWEB AppSpace
      • ONEWEB Runtimes
      • ONEWEB Designer Studios
  • Install & Configure ONEWEB Platform
    • Install & Configure ONEWEB Platform
    • Plan your ONEWEB Installation
      • Design ONEWEB Architecture
        • Standalone Architecture
        • High Availability Architecture
        • Cloud Architecture
          • Container structure
        • Production vs. Disaster Recovery vs. Testing Environment
        • ONEWEB Server Configuration
        • Monitoring in ONEWEB
      • Sizing Consideration
        • CPU Sizing
        • Memory Sizing
        • Storage Sizing
        • Network Sizing
      • Check Prerequisite for ONEWEB Installation
        • Hardware Requirements
        • Software Requirements
        • Database Requirements
        • Security Requirements
        • Network Requirements
        • Client Requirements
        • Third-party Tools
    • Install and Manage ONEWEB Components
      • User Privileges
      • Prepare Prerequisite Software
        • Prepare Database Server
          • PostgreSQL
        • Prepare Web Server
          • Apache Web Server
        • Prepare Application Server
          • Configuration ONEWEB on Wildfly
            • Step1: Prepare database user permission
            • Step2: Configure access to Wildfly Management Console
            • Step3: Create database driver
            • Step 4: Create datasource
            • Step 5: Deploy the application archives
            • Step 6: Single Sign-On
            • Step 7: Wildfly Encoding and Undertow
            • Step 8: Authentication with Wildfly
            • Step 9: Authentication with LDAP
          • Configure tuning threads
      • Install ONEWEB Application Components
        • Install ONEWEB Application Designer
        • Install ONEWEB Application Server
        • Install ONEWEB Page Designer
        • Install ONEWEB Page Server
      • Install ONEWEB Process Components
        • Install ONEWEB Process Designer
        • Install ONEWEB Process Server
      • Install ONEWEB Integration Components
        • Install ONEWEB Microflow Designer
        • Install ONEWEB Microflow Server
        • Install ONEWEB IAM
      • Verify ONEWEB Installation
        • Application Verification
        • Process Verification
        • Integration Verification
  • Design and Develop ONEWEB Apps
    • Design ONEWEB Apps
      • Choose Between a Web App and a Mobile App
      • Choose your ONEWEB Design Patterns
        • UI Apps: UX/UI only
        • Process Apps Business Process only
        • Interface Apps: Integration with other system only
        • Complex Apps: Combine UX/UI, Business Process and Interfaces
    • Design and Develop UX/UI
      • What is UX/UI?
      • Best Practice for UX/UI
        • Do
        • Don’t
        • How to choose between Smart Form and Page
      • UX/UI Components
        • Smart Forms
          • What is Entity?
          • Modules within an entity
          • Buttons & Actions
          • Entity Modes
          • Smart Form Patterns
            • Single Tab Forms
            • Multiple Tab Forms (General Tab)
            • Parent – Child Forms
          • Create your first Smart Form
            • Step by Step to create your first smart form
            • Deploy your smart form
          • Smart Form Features
            • Universal Search
        • Pages
          • What is page?
          • Page Navigation
          • Page Features
            • Header Footer
            • Dynamic Image
            • Switch Language
            • Custom Font
            • Custom Icon
            • Pass Parameter
            • Signature Pad
            • Theme Designer
            • Local Storage in Page
            • Sync Service in Page
            • Local Notification in Page
            • Push Notification in Page
            • Multi-language
            • Splash Screen
            • Plugin
            • App Icon
            • PGD Directives
            • Charts
            • UI Kits
            • Component Extension
            • Share Pages as Template
            • Page Expression Editor
            • Page Structure window
            • Popup Properties Editor
            • Box Model Editor
            • Environment Variables
            • Improved Drag & Drop
            • Microflow Version settings
            • Custom Dependencies
            • Navbar
            • Display Flex
            • Builder setting
            • Add New Screen
          • Create your first Web Page
            • Step by Step to create your first page
            • Preview Web Page
          • Create your first Mobile App
            • Step by step to create your first mobile page
            • Preview Mobile App
            • Mobile App CI/CD
            • Customizing mobile apps
            • Mobile Application Security
        • Dashboard
          • Widget Dashboard
            • Step to create widget dashboard
              • Create dashboard page
              • Create dashboard menu
              • Create chart widget
              • Add widget on Page
              • Configure chart widget
              • Configure chart series
              • Edit chart series
              • Change the chart to pie chart
              • Change pie color
              • Add another series to chart
              • Change the chart to column stacked chart
              • Change series color
            • Deploy your dashboard
          • Dashboard using Page Extension
            • Add chart to page
            • Create Microflow
            • Integrate chart with data
        • Report
          • Integration with reporting tool
        • Menu & Navigation
          • Menu & Navigation in ONEWEB
          • Link menu to a smart form
          • Link menu to a page
          • Link menu to external URL
      • Mobile UX/UI
        • Web Responsive
          • Smart Form Responsive
          • Web Page Responsive
        • Mobile hybrid
        • Build Mobile App
          • Add CI Server
          • AppStore & Playstore Details
      • UX/UI Customization
        • Smart Form Customization
          • Customize Look & Feel
          • Add Validation Logic
          • Add Calculation Logic
          • Add Custom SQL
          • Add external Java class
        • Page Customization
          • Custom CSS
          • Custom JS action
          • Third party resources
          • Custom extensions
        • Mobile App
      • UX/UI Integration with Process, Micro flow, External UI
        • Smart Form Integration with Process
        • Page Integration with Microflow
        • Page Integration with Process
        • Smart Form Integration with Microflow
      • Import/Export/Clone UX/UI
        • Export Import Clone Smart Forms
          • Export Entity
          • Import Entity
          • Clone Entity
        • Export Import Clone in Pages
          • Export Import App
          • Clone Pages
          • Import page from another App
      • UX/UI Test & Debug guideline
    • Design and Develop Process
      • What is Process?
      • Best practice for Process Design
      • Process Components
        • What is Business Process?
        • Process Template Diagram
        • Process Activity
          • Human Task
            • Task Allocation & Queuing for Human Task
          • Gateway Decision
          • Web Service Task
          • Sub Process
          • Java Task
          • Database Task
          • File Read Task
          • File Input Task
          • Timer
          • Error Handling
          • Event Trigger
          • Push Notification
        • Business Object & Data Mapping
        • Formula Editor
          • Formula Editor for Data Mapping
          • Formula Editor for Gateway Condition
        • Work Party
        • Upload File
        • Environment Configuration
        • Process Instance
      • Start with Business Process in ONEWEB
        • Create a Process in ONEWEB
        • Create your process diagram
        • Simulate your process
        • Deploy your process
      • Integration
        • Integrate Process with UX/UI
        • Integrate Process with Microflow
      • Monitoring
        • Process Monitor
        • Task Monitoring
        • SLA & OLA
        • Monitoring Dashboard
      • Process Validation
      • Import/Export Process
      • Process Deployment from development environment to other environment
      • To Do List
      • Process Test & Debug Guideline
      • Language Switch
      • Process Instance Migration
      • Sync User
      • Custom Extensions
        • Create workspace for Extension
        • Build extension in workspace
        • Install Extension in application
        • Manage the extension
        • Use Extension in workflow
    • Integration with other systems
      • What is ONEWEB Integration?
        • Integrate with other system from/to Microflow
        • Integrate with other system from to Process Flow
        • Integrate with App Runtime
      • Best practice for ONEWEB Integration
      • Microflow vs. Process Flow
      • Develop Integration with ONEWEB Microflow
        • Embedded Microflow vs. Runtime Microflow Server
        • Integration Node
        • Synchronous vs. Asynchronouse
        • Data Mapping
        • Custom Logic/Coding
        • Data Transformation
        • Activity Nodes
          • Exclusive Gateway Node
          • Web Service Task
          • Sub Flow
          • Java Task
          • Database Task
          • Timer
          • Error Handling
          • Push Notification
        • Start with Microflow in ONEWEB
          • Create a Microflow
          • Configure the Flow
          • Simulate your flow
          • Export your Microflow.
            • Embedded Microflow
            • Microflow Server
        • Integrate Microflow with UX/UI
          • Integrate Smart Form with other systems using Microflow
          • Integrate Page with other systems using Microflow
        • Import/Export Microflow
        • Upload File
        • Environment Configuration
        • Language Switch
        • Push Notification
        • Custom Extensions
        • JSON Path Mapping
        • Excel Reader
        • Excel Writer
        • Validation Node
        • JavaScript Node
      • App Runtime REST API
        • Sample use cases for APP Runtime API
        • Create a custom app to call APP Runtime REST API
      • Process Runtime REST API
        • Sample use cases for Process API
    • Design Data & Content Access Management
      • What is Data Access Management?
      • Best practice for Data Access Management
      • Database Access
        • Database Structure
        • Data Access from UX/UI
          • Access Database from Smart Forms
          • Access Database from Page
        • Data Access from Process
          • Database Activity
        • Database Access from Microflow
          • Database Node
      • Images, Files & Documents Access
        • Access from UX/UI
        • Access from Process/ Microflow
    • Design and Implement Security & Compliance
      • What is Security & Compliance?
      • Best practice for Security & Compliance
      • Authentication
        • LDAP Integration
        • Open ID protocol
      • Authorization and Access control
        • Roles, Permissions and Objects
        • Managing Access Control with IAM
          • Create User
          • Manage User Roles & Permissions
          • Manage Permission and Object
          • Manage Role
      • Token in ONEWEB
      • Logging and Audit logging
      • SSL support
    • Design & Develop Low code Apps using AppSpace
      • Create Application in AppSpace
      • Database Tools
        • Data Designer
          • How to create Data Designer app
          • Data Designer tools
          • Entity Properties
          • Compare schemas
        • SQL Builder
          • How to create SQL Builder app
          • SQL Builder tools
          • Connection
        • Data Viewer
          • How to use Data Viewer
          • Data Viewer Tools
      • Manage versions of App
      • Pipeline
        • Deploy Application in ONEWEB
        • Deploy Middleware
        • User Management
        • Distribute Application
      • Manage user access
        • Development Team Management
        • End User Access Management
      • Switch language in AppSpace
      • Link Application
      • Link Component
      • App Details
        • Fix applications with broken link
        • Rename Application
        • Export Application
      • Import Application
      • Cloud Native
  • Sample Apps
    • Sample Apps
    • Workforce App. (Mobile)
      • Database Preparation
      • Create and Test Microflow Service
      • Integrate Microflow with UI to produce dynamic App.
      • Create Mobile UI
    • Order Management App (Web)
      • Database Preparation
      • App Designer
        • Create Order Request Entity
        • Create Order Request Item Entity for Admin
        • Clone Order Request Entity for Admin
        • Link Parent Child Entity for Admin
        • Clone Order Request Entity for Back Office
        • Clone Order Request Item Entity for Back Office
        • Link Parent Child Entity for Back Office
        • Clone Order Request Entity for Authorize
        • Clone Order Request Item Entity for Authorize
        • Link Parent Child Entity for Authorize
        • Clone Order Request Entity for Admin PO
        • Link process button to Process Designer
        • Create menu for requester
      • App Designer Customize
        • Filter Requester search screen by login user
        • Default Requester with login user
        • Validate at least one Order Item when submit
        • Calculate remain order unit
        • Summary Price per order item
        • Summary Price per request
        • Validate order details when back office submits
        • Validate supplier details when admin submit
        • Validate Order Unit and calculate Total Price
      • Process Designer
        • Create Order Request Project
    • Leave Control App
      • Database preparation
      • App Designer
        • Create Leave Request Entity
        • Clone Leave Request Requester Entity
        • Clone Leave Request Supervisor PM Entity
        • Clone Leave Request One Down Head Entity
        • Clone Leave Request HR Entity
        • Clone Leave Request Authorize Entity
        • Link process button to Process Designer
      • Process Designer
        • Create Process Leave Request
  • Reference
    • Reference
    • Page Designer Reference
      • Create a New Application
        • New Mobile Page
        • New Web Page
      • Menu Controls on Pages
        • Web Pages
        • Mobile Pages
      • Page Designer Tools
        • Generic Tools
          • Page Designer Parameter
          • Add element
          • Placing of element
          • Removing element
          • Editing Text
          • Formatting Text
          • Creating Links
          • Uploading Images
          • Add an Image to page
          • Additional Settings
        • Tab
          • Adding Tab on Web
          • Adding Tab on Mobile
        • Menu
          • Adding Menu on Mobile
    • Process Designer Reference
      • Create New Proces
        • Create an Application in AppSpace
        • Create an Application in PD
        • Create Blank Project
        • Create Project Wizard
        • Process template Diagram and Guidelines
      • Process Designer Component
        • Activity Nodes
          • Human
          • Sub Process
          • File Read
          • Web Service
          • Java
          • Database
          • File Write
          • Push Notification
        • Event
          • Start
          • End
          • File Input
        • Gateway
          • Exclusive
          • Parallel
          • Inclusive
        • Boundary Events
          • Timer
          • Error
        • Pool/Lane
        • Work Party
        • Upload File
        • Environment Configuration
        • Custom Extensions
          • Create workspace for Extension
          • Build extension in workspace
          • Install Extension in application
          • Manage the extension
          • Use Extension in workflow
    • App Designer Reference
      • Entity
        • Create New Entity
          • Module
            • One to Many
            • One to Many
            • Reusing Module
          • Fields
            • Label
            • Hidden
            • Radio
            • Checkbox
            • Text area
            • Dynamic
            • List Box
            • Suggestion
            • Popup
            • Calendar
            • No Object
            • MultiSelect
            • Upload
            • Text Box
          • Buttons
          • Actions
          • Tabs
            • Normal Tab
            • 2 Layer Tab
        • Export Entity
        • Import Entity
        • Clone Entity
      • Search
      • Utilities
        • Menu Configuration
        • Parent Child Utility
        • Master data Import Export
        • Datasource Configuration
  • API Guide
    • API Guide
    • App Runtime API
      • List all methods of REST API and explain the API functionality
    • Process Runtime API
      • List all methods of REST API and explain the API functionality
    • Session Manipulation API
      • List all methods of Java API and explain the API functionality
    • Microflow Runtime API
      • List all methods of REST API and explain the API functionality
    • IAM2 API
      • List all methods of REST API and explain the API functionality
Powered by GitBook
On this page
Export as PDF
  1. Install & Configure ONEWEB Platform
  2. Install and Manage ONEWEB Components
  3. Prepare Prerequisite Software
  4. Prepare Application Server

Configure tuning threads

Last updated 2 years ago

Wildfly use Subsystem configurations. A subsystem is an added set of capabilities added to the core server by an extension. A subsystem provides servlet handling capabilities a sub system provides and EE, EJB, IO etc. A profile is a named list of subsystems, along with the details of each subsystem's configuration EE Subsystem The EE subsystem allows you to configure common functionality in the Java EE platform, such as defining global modules, enabling descriptor-based property replacement, and configuring default bindings. managed executor service context-service The name of the context service to be used by the executor. core-threads The minimum number of threads to be used by the executor. If left undefined the default core-size is calculated based on the number of processors. A value of zero is not advised and in some cases invalid. See the queue-length attribute for details on how this value is used to determine the queuing strategy. hung-task-threshold The runtime, in milliseconds, for tasks to be considered hung by the managed executor service. If value is 0 tasks are never considered hung. jndi-name The JNDI Name to lookup the managed executor service. keepalive-time When the number of threads is greater than the core, this is the maximum time, in milliseconds, that excess idle threads will wait for new tasks before terminating. long-running-tasks Flag which hints the duration of tasks executed by the executor. max-threads The maximum number of threads to be used by the executor. If left undefined the value from core-size will be used. This value is ignored if an unbounded queue is used (only core-threads will be used in that case). queue-length The executors task queue capacity. A length of 0 means direct hand-off and possible rejection will occur. An undefined length (the default), or Integer.MAX_VALUE, indicates that an unbounded queue should be used. All other values specify an exact queue size. If an unbounded queue or direct hand-off is used, a core-threads value greater than zero is required. reject-policy The policy to be applied to aborted tasks. thread-factory The name of the thread factory to be used by the executor. IO Subsystem The IO subsystem allows you to define workers and buffer pools to be used by other subsystems. worker io-threads Specify the number of I/O threads to create for the worker. If not specified, a default will be chosen, which is calculated by cpuCount * 2 stack-size The stack size (in bytes) to attempt to use for worker threads. task-keepalive Specify the number of milliseconds to keep non-core task threads alive. task-max-threads Specify the maximum number of threads for the worker task thread pool.If not set, default value used which is calculated by formula cpuCount * 16 buffer-pool buffer-size The size of each buffer slice in bytes, if not set optimal value is calculated based on available RAM resources in your system. buffers-per-slice How many buffers per slice, if not set optimal value is calculated based on available RAM resources in your system. direct-buffers Does the buffer pool use direct buffers, some platforms don't support direct buffers Processor Core A processor core (or simply “core”) is an individual processor within a CPU. Many computers today have multi-core processors, meaning the CPU contains more than one core.

For many years, computer CPUs only had a single core. In the early 2000s, as processor clock speeds began plateauing, CPU manufacturers needed to find other ways to increase processing performance. Initially, they achieved this by putting multiple processors in high-end computers. While this was effective, it added significant cost to the computers and the multiprocessing performance was limited by the bus speed between the CPUs. By combining processors on a single chip, CPU manufactures were able to increase performance more efficiently at a lower cost. The individual processing units became known as “cores” rather than processors. In the mid-2000s, dual-core and quad-core CPUs began replacing multi-processor configurations. While initially only high-end computers contained multiple cores, today nearly all PCs have multi-core processors.

NOTE: “Core” is also the name of Intel’s processor line, which replaced the Pentium lineup in 2006. Examples of Intel Core processors include the Core Duo, Core 2, Core i3, Core i5, and Core i7.

Thread The threads of a computer program allow the program to execute sequential actions or many actions at once. Each thread in a program identifies a process that runs when the program asks it to. Threads are typically given a certain priority, meaning some threads take precedence over others. Once the CPU is finished processing one thread, it can run the next thread waiting in line. However, it's not like the thread has to wait in line at the checkout counter at Target the Saturday before Christmas. Threads seldom have to wait more than a few milliseconds before they run. Computer programs that implement "multi-threading" can execute multiple threads at once. Most modern operating systems support multi-threading at the system level, meaning when one program tries to take up all your CPU resources, you can still switch to other programs and force the CPU-hogging program to share the processor a little bit. The term "thread" can also refer to a series of related postings in an online discussion. Web-based bulletin boards are made up of many topics, or threads. The replies posted in response to the original posting are all part of the same thread. In e-mail, a thread can refer to a series of replies back and forth pertaining a certain message. JVM Options there are three types of options that you can include to your JVM, standard, non-standard, and advanced options. If you try an advanced option, you always use the option with -XX . Similarly, if you’re applying a non-standard option, you use -X . Standard options don’t prepend anything to the option. Java heap size

-Xms - set initial Java heap size -Xmx - set maximum Java heap size -Xss - set java thread stack size

Xms – This option is to define starting heap size for JVM, e.g.,Xms2048m which means an initial heap size of JVM is 2 GB around. So, when a JVM starts, the heap memory will be this much big. Surprisingly yes! This is carried to prevent resizing during startup and enhance the startup time of JVM. Xmx – This option is to define the maximum heap size of JVM, e.g.,Xmx2048m which means the maximum heap size of JVM will be 2 GB only. You will essentially always have-Xms and -Xmx together. PermGen Size Earlier JVM options define the size of heap memory but -XX:PermSize is to define the size of PermGen space, where the string pool and class metadata is saved. This option is particularly effective for a web server like Tomcat, which often loads classes of the web application during deployment. By the way, It’s worth realizing that PermGen space is taken over by Metaspace in Java 8, and this option is not applicable if you are running with JRE 8 JVM. Handling ‘OutOfMemory’ Error To trigger heap dump on out of memory, you can use -XX:+HeapDumpOnOutOfMemoryError This JVM option produces a stack dump when your JVM dies with OutOfMemory Error. There is no expense involved unless an OOM really occurs. This flag is a requisite for production systems as it is usually the only way to determine the problem deeply.

The heap dump will be set up in the “current directory” of the JVM by default. If you wish to create heap dumps on specific directory, then run

-XX:HeapDumpPath= [path-to-heap-dump-directory] -XX:+UseGCOverheadLimit -XX:OnOutOfMemoryError="< cmd args >;< cmd args >"

The heap dump file can be huge in size, up to gigabytes, so assure that the target file system allows sufficient capacity. If we want to restart the server immediately after out of memory occur, then we can set this parameter of the same purpose –XX:OnOutOfMemoryError="shutdown -r" Trace class loading and unloading -XX:+TraceClassLoading and -XX:+TraceClassUnloading are two JVM options that we use to print logging information whenever classes loads into JVM or unload from JVM. These JVM flags are useful if you have any type of memory leakage linked to classloader and suspecting to it that classes are not unloading or garbage collected.

Recommended Standard Configure for ONEWEB: