Throttling Issues in Large Scale Web Applications

Learn from real-world experiences and solutions in handling performance and scalability in enterprise-level systems.

Throttling Issues
22 April, 2017
Performance Issues

During my consulting work in a UK company, I was involved in performance evaluation of a large-scale monolithic JEE application operational for over 10 years. This article shares key observations, challenges, and modern solutions for throttling and scalability.

Application Features

  • One of the largest applications of its kind globally (Half a TB Data in Relational Database).
  • Built with EJBs, JPA 2.0, Struts, GlassFish Server, Linux CentOS, and JDK 8.

Key Issues Observed

Even with a large thread pool and vertically scaled hardware, requests were queued in the processing layer, leading to timeouts due to stateful clustering limitations on GlassFish server.

Database queries took unusually long due to multiple joins over millions of records, causing transaction bottlenecks and thread exhaustion.

Java Enterprise Application Architecture

Investigations & Solutions

  • Identified heavy text searches in DB → suggested using a search engine for indexing.
  • Optimized frequently executed queries to prevent timeouts.
  • Introduced Big Data Architecture using Kafka + Flink for real-time data processing.
  • Adopted NodeJS + Angular (SOFEA) for frontend and Docker + Kubernetes for containerized deployment.
  • Implemented microservices and NoSQL (MongoDB) to improve transactional handling and caching.
Gireesh Babu

Gireesh Babu

20+ years of experienced Senior Technical Architect, TOGAF & Oracle Java certified, AI & Big Data enthusiast. Read more

If you have any questions, call us at +91 7034256363