Hi Maxim,

I would like to discuss a design problem of the new architecture to store
the RoomClients in the database.

Did you see that when iterating through the connections for example in the
method:
http://code.google.com/p/openmeetings/source/browse/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java#2504

You request on each connection, everytime you iterate throuhg a SINGLE
SELECT on the database to get the roomclient ?!
Meaning if you have 200 people in a conference room you make 200 single
select statements on the database, and as that happens for example for each
time the green dod in video-views starts or stops to blink, or each time
the users sends a new whiteboard event ...actually everytime you sync
ANYTHING to your participants the server will iterate through all session
objects and then does now a SINGLE query for each connection getting the
corresponding RoomClient from the DB.

Did you ever test the effect when having lets say 500 participants online,
and 150 in a single room and now you send a whiteboard event, how long does
it take?! I mean we make a real-time application? This implementation does
not scale at all. That was the reason why the RoomClient was a static
variable of type HashMap and not in the database. To be able to access it
really FAST. Red5 does something similar for "sharedObjects" it stores them
in the session (using ehCache I think).

However, there is really need for immediatelly change in that part, making
a single selct ON EACH CONNECTION => this will not fly!

Can you please propose some concept on that, so we discuss this together
and then implement it.


Sebastian

-- 
Sebastian Wagner
http://www.openmeetings.de
http://www.webbase-design.de
http://www.wagner-sebastian.com
[email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.

Reply via email to