Async vs Sync Efficiency Comparison Simulation

This simulation helps model and demonstrate the performance advantages of asynchronous, event driven architecture vs synchronous, request-response style. Scroll down for more info.

No data. Run the simulation to see some cool analytics.


About this simulation

This simulation is part of the WebSemaphore documentation and is intended to demonstrate the benefits of Event Driven Architecture in general, and WebSemaphore's  async vs sync modes in particular.
Tweak the configuration options to fit your business/technical scenario and see how you could improve the cost efficiency of your IT operations in terms of efficiency, utilization and revenue. If you need further help or clarifications feel free to contact us.
Things to note:
  1. Max number of events is currently 50000. The simulation will stop generating requests when this number is hit.
  2. The simulation runs purely in the browser. However if you share a configuration via the share button, the configuration becomes a part of the url. Avoid having sensitive information in the form.
  3. The simulation assumes long-executing flows to be possible - for example when selecting the "hours" timescale. This works naturally with WebSemaphore but with other systems could encounter multiple technical limitations.
  4. Reality is always more complicated than what can be simulated. We hope the charts provide a starting point for a practical investigation that will reveal the truth.

Terms in the charts:

  • ■ lockValue - the number of locks acquired
  • ■ waiting - the number of messages waiting to be processed
  • ■ rate - request rate
  • ■ released - the number of successfully completed requests
  • ■ rejected - the number of messages rejected due to concurrency limitation (only in sync mode)
  • ■ utilized - utilization of the resources. Full utilization (100%) would mean that all concurrent resources were used all of the time. The time boundaries are separate for async and sync, only taking into account the actual execution time of each. Since the async version typically runs for more time than the sync one, the utilization can be seen as slightly skewed favor of the sync model. If we used the full execution time of the async model to calculate the utilization of the sync one we'd have an even lower utilization rate for sync every time.
  • ■ idle - Complements "utilized" to 100%
  • ■ efficiency - the ratio of successful ("released") requests multiplied by the utilization ratio. E.g. if 50% of requests were served with 50% utilization the efficiency is 25%.

About WebSemaphore

WebSemaphore offers highly scalable concurrency management as a service. Its unique combination of features  helps scale and optimize resource usage and costs and fits a wide range of scenarios that require ad-hoc concurrency management without the typical complexity.