Socket Optimization
Current Functionality:
In the application’s processing threads (MPWorkers), sockets are created to establish connections to the databases (DBs) and communicate with application servers (PMS & PDS Servers). Currently, these sockets are managed at the template level and are created at multiple points during processing. This approach causes an increase in the number of sockets as the number of templates and threads (MPWorkers) increases. As a result, the application faces challenges in scaling within larger environments and may experience performance issues, such as hangs, when it reaches the maximum socket connection limitation imposed by the operating system for each application instance.
Enhancement:
The application has been optimized to address the issue of redundant sockets created at the template level. Sockets are now globally linked to each application thread (MPWorker). This means that each application thread (MPWorker) consistently uses the same global sockets during processing, regardless of the number of templates or versions being processed.
This optimization ensures:
efficient socket management and reuse across processing tasks,
the connection to resources and servers is stable and reliable,
Eliminates redundant socket creation for each template.
The application is more flexible and scalable to handle increased volumes with additional hardware resources.
Benefits:
Improved socket efficiency for optimal resource utilization.
Reduced connectivity issues with resources and servers, enhancing overall system stability.
Eliminating redundant socket creation can increase processing efficiency and reduce overhead.
Enhanced application scalability by adding hardware to handle higher processing volumes efficiently.
Last updated