Don’t guess. Learn how many users your application can support!
Why Choose SkillBuilders’ APEX Tuning?
Of course we can enhance the performance of SQL statements and APEX page components. But we also have the team experience to apply a holistic approach to tuning involving developers, DBAs, SysAdmins, web developers. Our team synergy ensures all components (end-to-end) are tuned. Our elite team has worked on several customer challenges involving all aspects of APEX Tuning.
We understand the difference between two distinct tuning objectives – performance (user-experience) and Scalability (how many users can we support). Though one goal often impacts the other , the focus of the project is dictated by customer needs.
We possess a broad range of experience in APEX application tuning. From tuning APEX page components to session state management and distributing incoming user requests across multiple servers or instances can ensure optimal resource utilization and enhance the user experience and / or scalability.
Cost-Effective Solutions: APEX tuning not only enhances performance but also optimizes resource usage, potentially leading to cost savings in hardware and infrastructure expenses.
Why Guess When You Can Know?
How many users can my APEX application support?
What’s the application (pages) response time?
Am I losing customers because of bad response times?
Can I accelerate the image delivery?
I hope to add 50 new users a day. Will my system support this?
Am I wasting money by allocating too large of a server?
Are the connection pools optimally sized?
Could the SQLs be tuned?
Know what to expect! Have SkillBuilders bring its people and tool kit to the case and find the answers to these questions!
Our Tuning Process:
Though one objective often impacts the other, there are two distinct objectives related to tuning – performance (user-experience) and Scalability (how many users can we support). How do we meet these goals?
- Performance Assessment: Our team conducts a comprehensive review of your APEX applications. With the help of APEX Monitoring and APEX Debug, we’ll look at page execution times, page load times, etc. and compare these to the objectives as stated by the customer.
- Use REST Services for images (enabling caching).
- Review infrastructure and database to identify potential bottlenecks and areas for improvement.
- Page execution times
- Variables, images.
- Scalability Assessment: If scalability is in question, load tests are conducted (k6, jMeter) to determine at what user count the application performance falters or the application starts failing.
- SQL Query Optimization: At the heart of every APEX application are SQL queries. Ensuring these are optimized can dramatically improve performance and scalability. This involves reviewing SQL execution plans, optimizing queries, and sometimes redesigning database structures.
- PL/SQL Code Reviews: PL/SQL is a powerful procedural language that often gets embedded within APEX. Like SQL, this code needs regular reviews to ensure efficiency.
- Page Component Tuning: APEX applications are comprised of various components (like charts, reports, etc.). Properly configuring these components can help in decreasing load times.
- Database Performance Tuning – We will uncover incorrectly set initialization parameters affecting all aspects of the database. .
- OS Performance Tuning – Again we will uncover and correct incorrectly set kernel parameters that can affect caching, CPU scheduling, disk I/O, memory management, and other performance-related settings can be tweaked to optimize system performance.
- Hardware Tuning – When we discover poorly performing disc devices we will make appropriate recommendations for improving performance , e.g. solid state disc devices or segregation/isolation of critical database files such as redo logs.
- Network Optimization: The latency between the APEX application and the Oracle database can impact performance. Implementing caching, Content Delivery Networks (CDNs), and other strategies can make a difference.
- Session State Management: Managing the session state is crucial in multi-user environments. Efficient session management ensures data integrity and improves application responsiveness.
- Scaling and Load Balancing: Distributing incoming user requests across multiple servers or instances can ensure optimal resource utilization and enhance user experience.
- Multiple web servers
- RAC for Database Tier
- Web Tier Tuning – Apache, Threading Model, Connection Pools, httpd.conf (image files, static content, reverse proxy, ie how Apache routes to Tomcat/ORDS, Session Stickiness (in a multiple web server environment)
- Database Optimization: A critical aspect of APEX tuning is the underlying database. We review and optimize SQL queries, indexes, data structures and parallelism to enhance overall performance and scalability. .
- Application Design Review: We evaluate your application’s architecture and design to identify any structural inefficiencies that may hinder performance.
- Caching Strategies: Implementing effective caching mechanisms can significantly reduce database load and improve application response times. We apply caching strategies tailored to the customer’s specific application requirements.
- Resource Management: Properly managing resources, such as memory and CPU, is essential for optimal performance. We fine-tune resource allocation to ensure smooth operation.
- Code Optimization: Our experts review your application’s code, eliminating redundancies and improving logic to make it more efficient.
- Load Testing: Before delivering the tuned application, we will perform rigorous load testing to ensure it can handle the expected user concurrency without any performance degradation.
Our commitment to your success doesn’t end with tuning. We offer ongoing support and, if desired, monitoring, to address any new challenges that may arise as your application evolves.
Unlock the full potential of your Oracle APEX applications with our specialized tuning services. Reach out to us today for a consultation and take your APEX experience to the next level!