tinode / chat

Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
GNU General Public License v3.0
11.94k stars 1.87k forks source link

What is the load benchmark of the server? #105

Closed streetlist closed 6 years ago

streetlist commented 6 years ago

How much concurrent users can the system take? What's the req/s for this? Where do I change the 128 limit value? Can it be 100,000 user per group like telegram?

or-else commented 6 years ago

How much concurrent users can the system take? What's the req/s for this?

I don't have the answer. You are welcome to load test the server and share your findings.

Where do I change the 128 limit value?

https://github.com/tinode/chat/blob/master/server/tinode.conf#L26

Can it be 100,000 user per group like telegram?

I don't think so. Telegram has group chats and channels. Current Tinode group topics are like Telegram group chats. The equivalent of channels is planned but not done yet.

streetlist commented 6 years ago
  1. Is there a purpose in the creation of tinode?
  2. is it live in production for an existing app?
  3. group setting of 100,000 instead of 128, what will happen? golang will crash / hang due to memory limitations?
or-else commented 6 years ago

Is there a purpose in the creation of tinode?

Yes. It's stated right on the front page: https://github.com/tinode/chat#why

is it live in production for an existing app?

Don't know.

group setting of 100,000 instead of 128, what will happen?

It will generate a lot of useless network traffic with notifications of people joining/leaving the group. It will likely consume more memory than needed. Otherwise try and tell me.

or-else commented 6 years ago

I assume you have received the answers. If not, feel free to comment or to open another issue.