tigrot Well-Known Member Licensed User Longtime User Feb 29, 2016 #1 Hi everybody, I need to support about 150,000 connections on a single Web Socket server. The traffic is not important, only polls and rare data transmission over about 20 connections at a time. What is the power I need to handle suck a trafic in Windows Server 2012? Memory and Core... Thank you very much Mauro Zanin
Hi everybody, I need to support about 150,000 connections on a single Web Socket server. The traffic is not important, only polls and rare data transmission over about 20 connections at a time. What is the power I need to handle suck a trafic in Windows Server 2012? Memory and Core... Thank you very much Mauro Zanin
Erel B4X founder Staff member Licensed User Longtime User Mar 1, 2016 #2 Will the 150,000 clients be connected at the same time / all the time? Upvote 0
tigrot Well-Known Member Licensed User Longtime User Mar 1, 2016 #3 Yes, if possible... I can riconnect them every 10 minutes or so, just to inquiry for new data available. Upvote 0
Yes, if possible... I can riconnect them every 10 minutes or so, just to inquiry for new data available.
Erel B4X founder Staff member Licensed User Longtime User Mar 1, 2016 #4 WebSockets should be used when you want to maintain an active connection. In this case it will be better to use regular handlers and check for new data every couple of minutes. Upvote 0
WebSockets should be used when you want to maintain an active connection. In this case it will be better to use regular handlers and check for new data every couple of minutes.
tigrot Well-Known Member Licensed User Longtime User Mar 1, 2016 #5 Thank you Erel, my question was about the resources needed to keep connections active. If this is feasible I'd like to keep connections active, so I can send continuos data. I need GPS readout and also remote events notifications. A permanent connection simplifies the job... Upvote 0
Thank you Erel, my question was about the resources needed to keep connections active. If this is feasible I'd like to keep connections active, so I can send continuos data. I need GPS readout and also remote events notifications. A permanent connection simplifies the job...
Erel B4X founder Staff member Licensed User Longtime User Mar 1, 2016 #6 You cannot keep 150,000 active connections. Each active connection requires a thread. It will work with several thousands of connections. Upvote 0
You cannot keep 150,000 active connections. Each active connection requires a thread. It will work with several thousands of connections.
tigrot Well-Known Member Licensed User Longtime User Mar 1, 2016 #7 Could work only in my dreams ... I'll keep the system in a real world... Thank you to drive me the correct way! Upvote 0
Could work only in my dreams ... I'll keep the system in a real world... Thank you to drive me the correct way!
tigrot Well-Known Member Licensed User Longtime User Mar 2, 2016 #9 Hi Techkinight, I cannot use CDN, I need to stream photos, data to agents' workstation realtime, that is multiple concurrent transmissions, not broadcastings, maybe using Google network could suffice, but I need control over the WEB server as well. Thank you everybody! Upvote 0
Hi Techkinight, I cannot use CDN, I need to stream photos, data to agents' workstation realtime, that is multiple concurrent transmissions, not broadcastings, maybe using Google network could suffice, but I need control over the WEB server as well. Thank you everybody!
lemonisdead Well-Known Member Licensed User Longtime User Mar 2, 2016 #10 tigrot said: I need to stream photos, data to agents' workstation realtime, that is multiple concurrent transmissions, not broadcastings, maybe using Google network could suffice, but I need control over the WEB server as well. Click to expand... Hello, That's how I managed such a case : - I have created groups of IPs allowed to be connected at the same time - IP are collected on connect and the groups are dynamically sent to the devices - When in need to stream something I allow one group at a time the other groups receive a "disconnect for some time message" (some time could be a value for a timer - I use a fixed hardcoded value for myself) - When the first group is served, the server allows another group. That groupe was waiting to be served and receives its data. The others are waiting. - And so on With such a solution you can imagine a dynamic resizing of the groups (because of vacations for example). I do this not for pictures but for database requests but it is data Hope this could help Upvote 0
tigrot said: I need to stream photos, data to agents' workstation realtime, that is multiple concurrent transmissions, not broadcastings, maybe using Google network could suffice, but I need control over the WEB server as well. Click to expand... Hello, That's how I managed such a case : - I have created groups of IPs allowed to be connected at the same time - IP are collected on connect and the groups are dynamically sent to the devices - When in need to stream something I allow one group at a time the other groups receive a "disconnect for some time message" (some time could be a value for a timer - I use a fixed hardcoded value for myself) - When the first group is served, the server allows another group. That groupe was waiting to be served and receives its data. The others are waiting. - And so on With such a solution you can imagine a dynamic resizing of the groups (because of vacations for example). I do this not for pictures but for database requests but it is data Hope this could help
tigrot Well-Known Member Licensed User Longtime User Mar 2, 2016 #11 Hi Lemonisdead, the project is already working on real world, but since the agents' workstations require no forwarded ports (because of security) and I need to connect them from the public network. Now the security is broken and the customer is not happy. I'm thinking to permanently connect a cloud based server with a Web socket server to agents' workstations. The androids and iphones will be connected every one minute or so(to check for requests) or permanently when they need to send pictures. When the job is done, they start a new poll session. keeping the simultaneous connections at an aceptable level. Is your idea working for G3/G4 networks as well? Mauro Upvote 0
Hi Lemonisdead, the project is already working on real world, but since the agents' workstations require no forwarded ports (because of security) and I need to connect them from the public network. Now the security is broken and the customer is not happy. I'm thinking to permanently connect a cloud based server with a Web socket server to agents' workstations. The androids and iphones will be connected every one minute or so(to check for requests) or permanently when they need to send pictures. When the job is done, they start a new poll session. keeping the simultaneous connections at an aceptable level. Is your idea working for G3/G4 networks as well? Mauro
lemonisdead Well-Known Member Licensed User Longtime User Mar 2, 2016 #12 tigrot said: Is your idea working for G3/G4 networks as well? Click to expand... Hello Mauro, Yes it is working even with GPRS/Edge (independently from the network speed) because each group is allowed to connect only when the previous one has finished (but as you have a good vision of the project, I think you could make the allocation dynamic) Upvote 0
tigrot said: Is your idea working for G3/G4 networks as well? Click to expand... Hello Mauro, Yes it is working even with GPRS/Edge (independently from the network speed) because each group is allowed to connect only when the previous one has finished (but as you have a good vision of the project, I think you could make the allocation dynamic)
tigrot Well-Known Member Licensed User Longtime User Mar 4, 2016 #13 Ciao "il-limone-è-morto" (your name translated in Italian) Thinking about your nice idea. Could you kindly better explain the details. One question: how can you authorize each group to connect and which is the order. If they are not connected how can they know it's time to get up? Upvote 0
Ciao "il-limone-è-morto" (your name translated in Italian) Thinking about your nice idea. Could you kindly better explain the details. One question: how can you authorize each group to connect and which is the order. If they are not connected how can they know it's time to get up?