Guys,
1. showing users that are actually ofline.
System "offlines" user right away if he logs out using "log out" button.
If user just closes the browser, system will log him out after 30 minutes. This is controlled by core platform in ow_system_plugins/base/bol/user_service.php:
method - deleteExpiredOnlineUsers.
Since "offlining" users is connected to Cron, you will need to make sure that it is configured properly on your server.
2. site performance when a lot of users are online in chat.
A lot depends on the hosting plan you have and server configuration in general. Let's assume that you are using shared hosting. For most of the shared hosting plans "a lot" can be defined as about 10 people online.
So 10 people are on your site.
1. most likely those people are adding content ( photo/blogs/forum and etc). Script is communicating with your server creating certain load.
2. depending on your plugins, system also pings your server constantly.
Instant chat pings the server every 5 seconds.
Activity notifications plugin pings every 30 seconds
Software as a whole pings every 60 seconds
Based on our experience, certain decrease in site's performance for sites with around 10 users online on shared hosting is a normal and expected situation.