Configurable scaling limits?
I'd love to have a way to configure, control or determine how many boards or viewers my server will scale up to. I recently had it fail during a class, which means I need to have fewer boards opened simultaneously, but don't know if there is any way to make it scale further. Did I hot a hard limit of the capabilities of my server, or did I hot a configured limit designed to prevent dos?
Can you provide your server logs for the time when it crashed ?
I'm attaching the log for the hour. This is with my modifications to provide a view-only mode, which is where the "I have a view!" messages come from. This was during another faculty member's class, so I don't know in detail what happened (the class was PH 335, which you can recognize in the logs by the board names), but you can see that there was a fair amount of activity, and the boards were also used by another group at the same time.
I don't see any error in the logs. What happened exactly? How did the server "fail" ?
It takes 2+ minutes to load a board (at least sometimes), with the result that students aren't able to access them. In some cases, I saw students whose boards did not update with all the content written by other students.
The CPU is not stressed in the least (I just watched it happening again), so I'm guessing that either we're hitting a network bandwidth limit of the server, or we're running into a limitation that is built into the server in some way.
Interesting... Are the boards in question large? What is the number of users and the number of boards?
The error message was "Waiting for available socket" so I'm guessing that there may be a limit on the number of websockets available. We had open probably about 400 or 500 boards open simultaneously, and they were probably mostly opened within the same minute.
Most of the boards are empty when the problem arises (since no one can get in to write on them).
Next time this happens, could you record the requests made during pageload, export them as HAR, and report the result to me ?
https://developers.google.com/web/tools/chrome-devtools/network/reference
I'll try to see if I can reproduce it by myself and record the network info. I couldn't see in that page how to export then to share with you. Is there a simple way to do that?
Right now we're reworking our procedures to minimize the number of boards open, so hopefully this issue won't arise in class.
On firefox it's on the little cogwheel on the top right of the network panel of the developer tools. On chrome it's on the little arrow pointing down on the top of the network panel of the developer tools.
I was unable to reproduce the behavior this morning using just my one computer to create many connections by opening many boards (and many times). I'm wondering if maybe many connections from a single client are multiplexed over a single connection? I'd love to find a way to effectively simulate a whole class connecting (without obtaining and making use of 50 computers).
you should be able to simulate n different users by opening n different private browsing browser windows
I'm attaching a network trace from a failed run. This is actually a page that has a bunch of iframes, so it may look unfamiliar, and may be unhelpful. But if you can tell me anything from what it says, that would be amazing.
Thank you, I downloaded it, and I'll have a look. This file contains the address of your own wbo deployment (and data exchanged over the network during the recording), you may not want to leave it online.