Search code examples
javascriptajaxdjangosocket.ioape

How does the amount of open APE (Ajax Push Engine) channels affect the performance?


I am developing a web application which follows the principle of responsivness. Every information currently visible on screen gets automatically updated if there is a change of any user - in real time.

I use APE (Ajax Push Engine) in combination with Django to submit the needed information to all users which currently have a page open. The information can be related to specific instances of objects, which could cause a large amount of open channels per user. I am talking about a maximum of 100 open channels.

1. Would this amount affect performance?

2. Is this good design or should i strive to create as few channels as possible?

3. Is APE a good choice or should i switch to node.js + Socket.IO? How measures the performance in contrast to APE?


Solution

  • I chose to switch to SockJS, see this question:

    python Socket.IO client for sending broadcast messages to TornadIO2 server

    Why? Because:

    • SockJS is more reliable and stable than Socket.IO and APE
    • Same for performance (as far as i know)
    • SockJS has broader communication protocol support than APE
    • APE server needs more configuration
    • No Flash requirements