Tips: Server

During a mixing session

This is a handy tip-sheet to have open when launching a session. I close the web browser once everything is running because… performance.

Assign a unique remotename (“-K”) parameter to each player (choosing a name between “Player1” and “Player[n]” depending on the number of people you’re hosting. That’s how the “connect_players” command drops people into the mixer.

Start Jacktrip Server -- Minimum              jacktrip -S --hubpatch 5
                                                 Launchers for Jacktrip 1.3 and 1.4 are on
                                                 the desktop (the "Basic Mixer" ones)

Start Jacktrip Server -- w/Broadcast option   jacktrip -S --hubpatch 5  --broadcast 50
                                                 Use the Jacktrip 1.4 launcher and select the
                                                 Broadcast option in the user interface

Players -- Minimum command line               jacktrip -C [server IP address] -K Player[n]

Connect the players to the session            Use the "Connect players" launchers on the
                                                 desktop.  The loopers are the ones I prefer

Get Linode-server performance statistics      Launch the Task Manager from the desktop

What size Linode?

The mixers will run in the Minimum configuration — great for development, testing, experimenting and so forth. The larger templates will run out of memory on the Nanode — I run them in larger machines. I use “Shared CPU” not “Dedicated CPU” Linodes because they work fine and … Cheap Is Good.

The Pretty Good is… pretty good! I might go up a bit if the performance was really important. I’d like to get more experience in how reliable the smaller sizes are.

Here are the tiers, based on Linode pricing for Shared-CPU virtual servers when I wrote this page. Use it as a guess, not a guide. 🙂

Template                Plan          RAM     CPUs   Storage      Monthly Max  Hourly     mb/sec

5-Player  Minimum       Nanode        1GB     1      25 GB        $5           $0.0075    15
          Pretty good   Linode 4 GB   4GB     2      80 GB        $20          $0.03

10-Player Minimum       Nanode        1GB     1      25 GB        $5           $0.0075    30
          Pretty good   Linode 8 GB   8GB     4      160GB        $40          $0.06

15-Player Minimum       Linode 2 GB   2GB     1      50 GB        $10          $0.015     45
          Pretty good   Linode 8 GB   8GB     4      160GB        $40          $0.06

20-Player Minimum       Linode 4 GB   4GB     2      80 GB        $20          $0.03      60
          Pretty good   Linode 16GB   8GB     6      320GB        $80          $0.12

Multi-track recording?

The last column in that table is “mbits/sec” and refers to the speed that the template will write data to the disk if all the players are being recorded at their defaults (48k sample rate, 16-bit, stereo).  The more players, the more disk-writing bandwidth is required of the server.   Each player uses 3 mbits/s

There’s a trick.  Linodes vary widely in how fast they write data to disks.  Here is a test session that is attempting to record to a disk that can’t keep up.   This is a 20-track, 40-channel recording and thus it needs to be able to write to disk at about 60 mBits/second.  This particular Linode was  writing to disk at about 20 MBytes/second, which should be enough to keep up but wasn’t.  The funny “gremlin” sounds are the result.

I have started “tasting” servers that I plan to use for recordings.  I do this with a command-line string that, misconfigured, can destroy the data on the disk.  I only use it on “fresh” servers that I’ve just built.  That way, I’ve lost nothing if damage occurs.  Backups are a good thing if you’re testing a disk with valuable information.

Here’s the string:

dd if=/dev/zero of=/tmp/test2.img bs=1G count=1 oflag=dsync

Click here for documentation (and more warnings).   Here are the results from a Linode 4 GB that I use for development.

1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 95.5291 s, 11.2 MB/s

The most important thing to look at is the 11.2 MBytes/s disk-write speed.   That’s  Pretty Good for smaller sessions, but may fall short for larger ones.  Note the difference between mbits/second in the table, and MBytes/second in the test result — about 8 times larger.