From 7f54f3bb6ec972e35e17bd2a6b2eb339f3721693 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Thu, 13 Oct 2022 12:49:29 -0400 Subject: Added loadtesting notes for Etherpad --- 2022/organizers-notebook.md | 355 ++++++++++++++++++++----------------- 2022/organizers-notebook/index.org | 62 ++++++- 2 files changed, 250 insertions(+), 167 deletions(-) (limited to '2022') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 0c8d502f..c026d3ba 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -167,7 +167,7 @@ Other projects: # Overall priorities This table makes it easier to move the slider depending on who wants -to volunteer and how much we can get done. At some point, we’ll figure +to volunteer and how much we can get done. At some point, we'll figure out how to track our current status so we know what we need to scramble to do in order to get the conference off the ground. **bold** is our current goal. Feel free to volunteer for anything that @@ -373,8 +373,8 @@ Ordered chronologically (and therefore by importance). ## BLOCKED Send program-published email for emacsconf-discuss :needsowner:timesensitive:email: Probably post schedule instead if available by that date -BLOCKED: We asked speakers to get back to us by the 14th, so we’ll probably be good to go re: schedule on the 15th -When we’re ready, we’ll flip emacsconf-publishing-phase to ’schedule, call `emacsconf-generate-main-schedule` and `emacsconf-generate-info-pages`, and be ready to send the e-mail. +BLOCKED: We asked speakers to get back to us by the 14th, so we'll probably be good to go re: schedule on the 15th +When we're ready, we'll flip emacsconf-publishing-phase to 'schedule, call `emacsconf-generate-main-schedule` and `emacsconf-generate-info-pages`, and be ready to send the e-mail. ### TODO Post it to r/emacs as well :reddit:zaeph: @@ -386,29 +386,29 @@ Please let zaeph know when it’s live so that the post can be distinguished. Greetings, fellow Emacsians! -On behalf of the EmacsConf 2022 organizers team, I’m very excited to +On behalf of the EmacsConf 2022 organizers team, I'm very excited to announce the program for EmacsConf 2022 (Dec 3 and 4), available at: All of the times listed on the schedule are in EST (UTC-5). You can -click on each talk’s title to open its page for more information, +click on each talk's title to open its page for more information, including its scheduled time in your local time. (Displaying local time requires running a tiny bit of AGPLv3+-licensed free/libre JavaScript code, included on the talk pages.) -For prerecorded talks, this time is also when the talk’s video will be -made available on the same page. Please note the ’~’ tildes near the +For prerecorded talks, this time is also when the talk's video will be +made available on the same page. Please note the '~' tildes near the times, indicating that they are approximations and not meant to be taken as exact times. The schedule may change leading up to the conference. -As the conference approaches, we’ll post more details on how to watch +As the conference approaches, we'll post more details on how to watch and participate. You can subscribe to the emacsconf-discuss mailing list at if you want to -be sure you’ll get updates. +be sure you'll get updates. Want to help make EmacsConf even awesomer? Volunteer! @@ -417,7 +417,7 @@ We hope to see you all around on Dec 3-4 for EmacsConf 2022! P.S. please direct all replies to this post either to myself or to the emacsconf-discuss list, so as to help avoid generating extra off-topic -chatter in the other lists cc’d in this message; thank you. +chatter in the other lists cc'd in this message; thank you. @@ -463,20 +463,20 @@ Ordered by importance. zaeph: I can work on it, but I’m not experienced in this domain, so I’d prefer to be a back-up. -Lesson learned from last year: &lsquo ;Since people kept running into ftp +Lesson learned from last year: "Since people kept running into ftp problems, we might want to set up a web-frontend next year to minimise -problems.’ +problems." Maybe we could ask some of the volunteers who wanted to help us with the infra? It shouldn’t be complicated to deploy a ready-made solution. -&lsquo ;file drop’ is a common keyword for looking for information. +"file drop" is a common keyword for looking for information. Considerations: - Probably run it on media.emacsconf.org - Bonus features: - - password-protected or hidden behind some kind of authentication or hidden behind some kind of URL, so we don’t have to worry too much about spam + - password-protected or hidden behind some kind of authentication or hidden behind some kind of URL, so we don't have to worry too much about spam - extra points for sending speakers links to upload to specific folders so that we can separate resources by talk - Resumable uploads would be good, since some speakers had a hard time with unreliable connections - What other conferences do: @@ -560,7 +560,7 @@ Other considerations: We need time after the prerecs get submitted to: -- convert the videos and check that they’ve been reencoded properly by watching the re-encoded ones all the way to the end +- convert the videos and check that they've been reencoded properly by watching the re-encoded ones all the way to the end - caption videos - capture any extra info - follow up with missing prerecs @@ -585,23 +585,20 @@ We need time after the prerecs get submitted to: Where should we host this? -- live0: gets scaled up the most, lots of people connect to it for the conference, didn’t hit performance constraints last time +- live0: gets scaled up the most, lots of people connect to it for the conference, didn't hit performance constraints last time - front0: lower risk of interfering with stream -- bbb: will already be put on strain with the concurrent streams (test showed it was stable with up to 10 concurrent video streams and 40 total participants) -- opal’s: no news from owner, but beefy server that we used for reencode last year [Ansible notes](#ansible) Consider if we need extra scaling beyond being on a beefy live0? - Scale calculator: - - assuming 3 concurrent authors, 200 lurkers per pad, 3 concurrent pads - - 1 core, 4GB RAM, bandwidth Mb/s: 14.688 + - assuming 3 concurrent authors, 100 lurkers per pad, 3 concurrent pads + - 1 core, 4GB RAM, bandwidth Mb/s: 7.488 - - -etherpad-load-test: 1GB nanode, 42 clients connected (11 authors, 31 lurkers) -Will need to try this again when we resize nodes. Probably just the extra memory will be enough and the CPU use from node won’t step on the streaming, but not sure +Will need to try this again when we resize nodes. Probably just the extra memory will be enough and the CPU use from node won't step on the streaming, but not sure ### DONE Use the API to create pages based on all the slugs @@ -609,16 +606,50 @@ Will need to try this again when we resize nodes. Probably just the extra memory ### CANCELLED Figure out monitoring; maybe get everything daily and commit to git repo? -History or regeneration will be fine. We’ll probably link to it shortly before the event, and we can also turn off the service until we’re ready. +History or regeneration will be fine. We'll probably link to it shortly before the event, and we can also turn off the service until we're ready. ### DONE Generate talk-specific pad content -### TODO Set up nginx reverse proxy +### DONE Set up nginx reverse proxy -### TODO Link to pad from talk page +### DONE Load-test + +tl;dr: Either a separate 4GB Linode or being on live0 will probably be +okay, but I'm not 100% sure due to the limitations of my load-testing +setup. I don't know if we need to shard by pad. + +It looks like etherpad-load-test tends to max out at ~40 connections +on a specific node. I used GNU Parallel to run the loadtesting tool +against a 4GB Linode instance (shared CPU) from five nodes at the same +time (my X220, my 2GB Linode instance, front0, and the node with the +pad), and they all reached about 35-45 clients before failure (not +updating within 100ms). + + echo 'node node_modules/etherpad-load-test/app.js http://170.187.195.5:9001 -d 120 > ~/output.txt' | parallel -J loadtest -j 1 --onall --verbose --tag + + echo 'grep Local ~/output.txt | tail -1' | parallel -J loadtest -j 1 --onall --tag + +Files were created at roughly the same time, so the max loads probably +overlapped. It would be good to have finer control over the +etherpad-load-test tool. Haven't figured out how to properly use `-l` +and `-a` yet. + + echo 'stat -c %y ~/output.txt' | parallel -J loadtest -j 1 --onall --tag + +CPU graph went only up to 5%. Network max was 2.36 Mb/s in, 1.25 Mb/s out. +looking at top, CPU seems to go only up to about 12% or so. + + +### TODO Set up pad.emacsconf.org to point to live0.emacsconf.org :bandali: + + +### BLOCKED Set up letsencrypt + + +### BLOCKED Link to pad from talk page ### TODO Be able to fall back to wikimedia if necessary, probably keyed off PAD property @@ -636,9 +667,9 @@ History or regeneration will be fine. We’ll probably link to it shortly be - Issue: zaeph was dropping frames and couldn’t pay attention to as many things as he wanted - Issue: corwin needs assistance to not be locked in his chair for the whole conf. Premptively, zaeph can do it by broadcasting OBS scenes via the rtmp (instead of just his webcam). - With a long day, we may want to be able to schedule hosts/streamers/publishers in shifts -- Ideal: Easy reproducible setup to spin up an OBS VM with scenes set up, allowing multiple users to connect to it at the same time. Maybe x2go or vnc? VMs with 8 vCPUs and a vGPU cost more, so it would be good to figure out what’s needed, spin it down, and then spin it up maybe the day before or something like that. +- Ideal: Easy reproducible setup to spin up an OBS VM with scenes set up, allowing multiple users to connect to it at the same time. Maybe x2go or vnc? VMs with 8 vCPUs and a vGPU cost more, so it would be good to figure out what's needed, spin it down, and then spin it up maybe the day before or something like that. - Plus points if we can control the OBS via password-protected websocket so we can tell it to switch scenes (and even more points if we do so from Emacs, maybe via that obs-websocket.el ;) ). MPV is also controllable via IPC, so we can use the same MPV player and then switch videos around. Maybe mpvc? -- Probably Linode’s Dedicated 32 GB + RTX6000 GPU x1 at $1.50 an hour for 2-3 days + dev time, since live.emacsconf.org is in Linode as well +- Probably Linode's Dedicated 32 GB + RTX6000 GPU x1 at $1.50 an hour for 2-3 days + dev time, since live.emacsconf.org is in Linode as well - We should also look into normalization across the board, especially if we have BBB participants. pipewire + easyeffects on the box might be the easiest way to do it. Resources: @@ -651,13 +682,13 @@ Resources: - -### TODO corwin: plan an approach to use a centralized OBS/nginix &lsquo ;bouncer’ :corwin: +### TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin: ### TODO corwin: document such that someone else could use/fix it :corwin: -### TODO corwin: recruit at least one more person to help operate the &lsquo ;video bouncer’ :corwin: +### TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin: @@ -696,7 +727,7 @@ in prod or docker container Goals: -- Reassure people that they’re in the right stream for the talk that they’re looking for +- Reassure people that they're in the right stream for the talk that they're looking for - Direct them to the pad and Q&A for the talk What to show in between talks: @@ -704,13 +735,13 @@ What to show in between talks: - Previous talk: title, speaker, pronouns, talk page, Q&A information (if still live) - Next talk: title, speaker, pronouns, talk page, Q&A information, countdown -If it’s static, this needs to wait for the decision on how we’re going +If it's static, this needs to wait for the decision on how we're going to use Etherpad, or we should have friendly URLs redirect to the right pads - Good: Static image, maybe created with LaTeX - Better: Video with unobtrusive sound so people can doublecheck that their audio works -- Best: Emacs thing so that we can have a dynamic timer and last-minute announcements, and so that it’s Emacs =) +- Best: Emacs thing so that we can have a dynamic timer and last-minute announcements, and so that it's Emacs =) - Even better than that: A compact view that can be overlaid on the Q&A session using OBS See break commercials @@ -730,13 +761,13 @@ Where: - front? my own VPS? - Nice if there’s an Ansible playbook + Nice if there's an Ansible playbook - sachac’s notes: - + sachac's notes: + - probably good to set it up on front -It’s now on front. +It's now on front. @@ -924,7 +955,7 @@ Note on how DebConf handled incidents: - [How do we want to make better use of Etherpad?](#pad-decision) - [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) - [How many BBB rooms do we want to set up?](#bbb-rooms) -- [Do we want people to advertise any openings with their companies or any work that they’re looking for?](#advertising) +- [Do we want people to advertise any openings with their companies or any work that they're looking for?](#advertising) - [Decision archive](#decision-archive) @@ -1043,7 +1074,7 @@ Options: - Web-editable: - Speakers and general public will be able to edit it more easily - Git: (current) - - Haven’t had a problem with spam + - Haven't had a problem with spam - Reduces merge conflict potential @@ -1101,7 +1132,7 @@ Two tracks mean two IRC channels with lots of space for Q&A, so this may become Pain points: - Q&A/discussions often overlap with the next talks -- Sometimes questions don’t get copied to the pad +- Sometimes questions don't get copied to the pad - Fast discussions can get overwhelming Ideas: @@ -1136,7 +1167,7 @@ Ideas: -## Do we want people to advertise any openings with their companies or any work that they’re looking for? +## Do we want people to advertise any openings with their companies or any work that they're looking for? - Speakers on their page? - General audience on a wiki page somewhere? @@ -1157,7 +1188,7 @@ Ideas: - If you’re thinking about the enticement factor of having people volunteer publicly, we’ll still have a well-furnished list of people helping us run the conf somewhere on the wiki. [11:22] - - i would think if someone doesn’t want to do it publicly, they could + - i would think if someone doesn't want to do it publicly, they could opt to write to -org-private instead, but otherwise the defacto should be public (-org) - i just think most folks would want to do this publicly unless for @@ -1180,7 +1211,7 @@ Superseded by decision to have multiple tracks Pain points: -- Many talk pages don’t have public e-mail addresses, so it takes a +- Many talk pages don't have public e-mail addresses, so it takes a little extra work (or is sometimes impossible) for people to follow up if they have questions @@ -1198,7 +1229,7 @@ Options: # Roles needed -Each role comprises different responsibilities. A person may have multiple roles. An organizer might take the lead for a role, but if you want to volunteer, speak up and they’ll probably be glad to share the load. +Each role comprises different responsibilities. A person may have multiple roles. An organizer might take the lead for a role, but if you want to volunteer, speak up and they'll probably be glad to share the load. Some roles are also described on the page. If you want to encourage people to volunteer to help, add a role description there. @@ -1216,7 +1247,7 @@ The roles below are related to the proposals in the early stages of the preparat - Listener - Receive emails from emacsconf-submit - Ensure that candidates are sticking to the prescribed format (esp. the 10/20/40 duration rule) - - Respond to people’s requests and suggestions, pulling in other people to help as needed + - Respond to people's requests and suggestions, pulling in other people to help as needed - Publisher (PUB: sachac) - Set up the wiki page - Infrastructure @@ -1262,12 +1293,12 @@ The roles below are related to the proposals in the early stages of the preparat - Get them into the correct room and help them doublecheck their audio and video quality - Troubleshoot as needed - Notify host about next room to join - - Follow up with speakers who haven’t checked in yet - - Check on speakers periodically so that they’re not waiting alone + - Follow up with speakers who haven't checked in yet + - Check on speakers periodically so that they're not waiting alone - Questions - Copy questions from IRC and the pad to wherever the host and speaker are looking - Pad scribe - - Organize and format people’s contributions + - Organize and format people's contributions - Add notes about links, key points, questions, answers - Accessibility (ACCESS: dto) - Describe visuals in #emacsconf-accessible @@ -1439,7 +1470,7 @@ Backups: - gen host/streamer: zaeph - checkin, IRC, pad: sachac -Interested in a shift? Please e-mail and we’ll help you figure out what you need to learn. +Interested in a shift? Please e-mail and we'll help you figure out what you need to learn. ## After the conference @@ -1603,7 +1634,7 @@ Add the following profile to `~/.config/mpv/mpv.conf`: Links: -- tar.gz with all fonts: [from zaeph’s server](https://zaeph.tk/files/emacsconf/captions/fonts.tar.gz) (more convenient) +- tar.gz with all fonts: [from zaeph's server](https://zaeph.tk/files/emacsconf/captions/fonts.tar.gz) (more convenient) - WOFF from GitHub repo: [clear-sans/WOFF at main · intel/clear-sans](https://github.com/intel/clear-sans/tree/main/WOFF) @@ -1700,25 +1731,25 @@ Exception: [CHECK is unavailable](#check-gone) , or IRC (like this)? - [? IRC] Thanks for checking in! Feel free to keep an eye on - \#emacsconf for questions and discussion, and we’ll copy things from + \#emacsconf for questions and discussion, and we'll copy things from the pad to there. If the volume gets overwhelming, let us know and - we can forward questions to #emacsconf-questions for you. If you’d + we can forward questions to #emacsconf-questions for you. If you'd like to try Q&A over live video or the collaborative pad instead, or if you need help, please let us know. -- [? Etherpad] Thanks for checking in! The collaborative pad we’ll be +- [? Etherpad] Thanks for checking in! The collaborative pad we'll be using for questions is at - . We’ll collect - questions from #emacsconf and put them there. If you’d like to jump + . We'll collect + questions from #emacsconf and put them there. If you'd like to jump to your part of the document, you might be able to keep an eye on questions. Please let us know if you need help, or if you want to switch to live Q&A. -- [? live] Thanks for checking in! I’ll send you some private messages - with instructions, so please check there. Let me know if you don’t +- [? live] Thanks for checking in! I'll send you some private messages + with instructions, so please check there. Let me know if you don't get them. - Private messages: - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s You can use this BBB room: %s . I’ll join you there shortly to set up the room and do the last-minute tech check.’ nick room-url)) - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s The collaborative pad we’ll be using for questions is at %s . We’ll collect questions from #emacsconf and put them there. If you’d like to jump to your part of the document, you might be able to keep an eye on questions. Alternatively, we can read questions to you.’ nick conf-collaborative-pad)) - - (erc-message &lsquo ;PRIVMSG’ (format &lsquo ;%s Leo Vivier will join when it’s time, and he will give you the go-ahead when it’s time to present. See you in the BBB room!’ nick)) + - (erc-message "PRIVMSG" (format "%s You can use this BBB room: %s . I'll join you there shortly to set up the room and do the last-minute tech check." nick room-url)) + - (erc-message "PRIVMSG" (format "%s The collaborative pad we'll be using for questions is at %s . We'll collect questions from #emacsconf and put them there. If you'd like to jump to your part of the document, you might be able to keep an eye on questions. Alternatively, we can read questions to you." nick conf-collaborative-pad)) + - (erc-message "PRIVMSG" (format "%s Leo Vivier will join when it's time, and he will give you the go-ahead when it's time to present. See you in the BBB room!" nick)) - CHECK directs speaker to available room with `/checkin ` - Speaker joins talk room - CHECK makes speaker presenter and moderator, does last-minute tech check @@ -1729,7 +1760,7 @@ Exception: [CHECK is unavailable](#check-gone) - live Q&A: reading questions themselves (can do in any order, can skip; coach possible responses for awkward things) or asking HOST to read questions to them - HOST can share the pad or IRC; speaker shares screen only if doing demo - - encouragement of webcam, although it’s optional + - encouragement of webcam, although it's optional - how HOST will join shortly before the prerec ends and then give them the go-ahead - closing any tabs watching the stream as their talk starts @@ -1743,11 +1774,11 @@ Exception: [CHECK is unavailable](#check-gone) information. -#### bandali’s check-in steps +#### bandali's check-in steps -- please leave webcam quality on ’medium’ +- please leave webcam quality on 'medium' - please read each audience question out loud before responding -- please mute stream on your machine if you’re watching +- please mute stream on your machine if you're watching - would you like to stay around for a longer q&a? - would you like to share your webcam or screen? (quickly mention how) @@ -1800,9 +1831,9 @@ Exception: [CHECK is unavailable](#check-gone) - Doublecheck subtitles - Add it to the EmacsConf 2021 playlist. - [? live sections] - - CHECK does a rough-cut of the recording from ${dump} to get the last X minutes or by time range. There’s about a 1-2 minute delay. + - CHECK does a rough-cut of the recording from ${dump} to get the last X minutes or by time range. There's about a 1-2 minute delay. Ex: `(kill-new (conf-dump-get "alt" "10:24" "10:30" "qa_"))` - - When there’s an opportunity to do so: + - When there's an opportunity to do so: - CHECK finetunes the rough-cut recording (trim start and end) and posts it to: - media.emacsconf.org/2021 - wiki page for talk @@ -1817,7 +1848,7 @@ Exceptions: - [? live] - CHECK-alternate joins the BBB room and pauses MPV. - HOST joins the BBB room - - HOST starts recording in BBB or confirms that it’s already recording + - HOST starts recording in BBB or confirms that it's already recording - HOST switches to the BBB scene in OBS. - HOST describes how to ask questions. - [? No questions yet] @@ -1831,15 +1862,15 @@ Exceptions: - [? IRC/pad] - HOST switches to pad/chat OBS scene. - HOST describes Q&A method and shows it on the screen. - - While there’s buffer time before the next talk, HOST can read out + - While there's buffer time before the next talk, HOST can read out questions and answers, or transition to the next talk early - - HOST: It’s time for the next talk, but if you want to keep + - HOST: It's time for the next talk, but if you want to keep discussing the previous talk, please feel free to continue doing so on IRC or the pad. - [? speaker will answer after the conference] - HOST switches to pad/chat OBS scene. - - HOST says the speaker is not available right now, but we’ll - forward the questions to the speaker and we’ll post the speaker’s + - HOST says the speaker is not available right now, but we'll + forward the questions to the speaker and we'll post the speaker's answers on the wiki page. Leave your contact information if you want to be notified, or subscribe to the emacsconf-discuss mailing list to get the announcement. Please feel free to continue @@ -1916,7 +1947,7 @@ Resource explanation: - **deskshare.webm:** Shared desktop as video - metadata.xml -Probably focus on grabbing the audio first and seeing what’s worth keeping +Probably focus on grabbing the audio first and seeing what's worth keeping (defun emacsconf-extract-chat (slug speaker) (interactive (list @@ -2032,7 +2063,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form - +
@@ -2150,7 +2181,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - Let the previous talk run a little longer for Q&A; end at least in time for the prerec - After the previous Q&A wraps up, play the prerec - [? still not around after prerec finishes] - - HOST: Speaker might be having some difficulty connecting, but we’ll collect your questions on the pad and send them afterwards. + - HOST: Speaker might be having some difficulty connecting, but we'll collect your questions on the pad and send them afterwards. - Can play next prerec a few minutes early @@ -2159,7 +2190,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - Let the previous talk do live Q&A/demo if ready - Close to the time of the missing talk: - See if any of the previous speakers want to be set up for an impromptu talk/extension in a BBB room, just in case - - HOST: The next speaker might be having some difficulty connecting. In the meantime, let’s… + - HOST: The next speaker might be having some difficulty connecting. In the meantime, let's… - OR: - highlight ongoing discussions - invite another speaker for an impromptu extension; mplsCorwin will keep a list of possible speakers who are still active @@ -2175,7 +2206,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup ### Speaker whose talk was reallocated shows up and wants to do it live -- See if there’s enough time if buffers are shuffled back; if so, set up for a live presentation +- See if there's enough time if buffers are shuffled back; if so, set up for a live presentation - Check for alternate stream volunteers - [? not enough time] Offer to set up a BBB room for recording or to accept a prerecording afterwards, then include it on the site and in @@ -2190,7 +2221,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - CHECK updates ${stream-status} - CHECK notifies STREAM and HOST - After prerec plays: - - HOST: This talk has an extended demo/Q&A. You can go to ${alternate-url} to watch it, and we’ll post a recording afterwards. + - HOST: This talk has an extended demo/Q&A. You can go to ${alternate-url} to watch it, and we'll post a recording afterwards. - HOST sends ${alternate-url} to IRC: Alternate stream for ${title}: ${alternate-url} - ALTERNATE notifies #emacsconf-org when the stream is done. - CHECK updates ${stream-status} to note that the alternate stream is finished. @@ -2198,7 +2229,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup FFMPEG process for sending the desktop and audio to the $CONFALT mountpoint on Linux with X11 and Alsa: 1. Set the CONFALT environment variable to icecast://user:password@live0.emacsconf.org:8000/alt.webm - 2. Install pavucontrol if you don’t have it already. + 2. Install pavucontrol if you don't have it already. 3. Start the following command (: while true; do ffmpeg -loglevel 0 -ar 48000 -f alsa -channels 2 -sample_rate 48000 -i default -re -video_size 1280x720 -framerate 25 -f x11grab -i :0.0 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -f webm $CONFALT; done @@ -2222,7 +2253,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup ### CRDT malfunctions - HOST notifies CHECK and tries reconnecting -- [? still doesn’t work] +- [? still doesn't work] - Switch to backup Etherpad @@ -2256,7 +2287,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - [? need too much extra time (ex: 10min)]: HOST acknowledges technical issues and says we may be able to follow up after the conference -- [? can’t resume]: HOST acknowledges technical issues and says we may +- [? can't resume]: HOST acknowledges technical issues and says we may be able to follow up after the conference @@ -2272,7 +2303,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - STREAM e-mails the mailing list -### live0 can’t handle the load or is close to network transfer limit +### live0 can't handle the load or is close to network transfer limit - OR: - Redirect some viewers via asking in #emacsconf: @@ -2299,7 +2330,7 @@ mpv –vf=negate $url Extra stuff to consider adding: - DONE Suggestions for themes (especially wrt colourscape) -- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.&lsquo ; +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it's easier to write, record, and edit your voiceover, and then record the video to go along with it." - DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec @@ -2323,7 +2354,7 @@ See the bottom of conf.org for some automated validation Extra stuff to consider adding: - DONE Suggestions for themes (especially wrt colourscape) -- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it’s easier to write, record, and edit your voiceover, and then record the video to go along with it.&lsquo ; +- DONE “Please don’t squeeze your talk by fast-forwarding your speech. Trimming silences and filler words can help, though. Sometimes it's easier to write, record, and edit your voiceover, and then record the video to go along with it." - DONE Allowing speakers to plant questions, esp. to cover tangential stuff that couldn’t fit in the prerec @@ -2342,7 +2373,7 @@ Ideal sequence: 1. publish /2022/prepare (zaeph) 2. publish wiki pages 3. send acceptance e-mails - - Allocate at most 20 minutes, say we’ll try to add more time depending on the schedule (probably know by Sept 30 or Oct 1) + - Allocate at most 20 minutes, say we'll try to add more time depending on the schedule (probably know by Sept 30 or Oct 1) - Include review comments 4. Send an additional e-mail introducing speakers who may want to coordinate @@ -2431,12 +2462,12 @@ Slightly annoying to do with JS/CSS because I want it to fall back to an interle ## DONE Process confirmations as we receive them :sachac:zaeph: -- Reply to the speaker and Cc -submit to confirm the confirmation. Something like &lsquo ;Confirming your confirmation, no reply needed to this one. Thank you!’ +- Reply to the speaker and Cc -submit to confirm the confirmation. Something like "Confirming your confirmation, no reply needed to this one. Thank you!" - Update talk to WAITING\_FOR\_PREREC in conf.org - Add a note in the logbook (C-c C-z - org-add-note) for the talk entry - Add :PUBLIC\_EMAIL: t if given permission to use the e-mail on the talk page, or set it to an alternative e-mail if provided. -- Update the public wiki’s ${year}/talks/{$slug}.md page to add the +- Update the public wiki's ${year}/talks/{$slug}.md page to add the e-mail address as on the speaker information line. - At some point, use `M-x emacsconf-generate-talk-pages` to update the e-mail address used in the footer. @@ -2450,7 +2481,7 @@ Slightly annoying to do with JS/CSS because I want it to fall back to an interle waiting) -## CANCELLED Create Org heading for scheduling caption team’s live IRC duty shifts :dto: +## CANCELLED Create Org heading for scheduling caption team's live IRC duty shifts :dto: See [Shifts](#shifts) @@ -2643,8 +2674,8 @@ Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail Hi, ${speakers-short}! -Here’s the tentative schedule for when your EmacsConf talk${plural} -will be streamed. Your talk${plural} will be streamed once, but I’ve +Here's the tentative schedule for when your EmacsConf talk${plural} +will be streamed. Your talk${plural} will be streamed once, but I've included a few timezone conversions for convenience. --- @@ -2653,17 +2684,17 @@ ${schedule} --- -${availability-note} You’ll also have time for Q&A afterwards, which -can be as short or as long as you like. We’ll send you more +${availability-note} You'll also have time for Q&A afterwards, which +can be as short or as long as you like. We'll send you more information about how the Q&A will work as the conference gets closer.${wrap} -If you’d like to see the other talks for context, you can check out +If you'd like to see the other talks for context, you can check out the draft schedule at . -The times may move around a bit as we update the schedule, so I’ll +The times may move around a bit as we update the schedule, so I'll check in with you if things change a lot. ${coordination-note} ${wrap} -We’d like to publish the schedule this month, so we’d love to hear -from you by **${reply-by}** if the times don’t work for you. (We can shuffle +We'd like to publish the schedule this month, so we'd love to hear +from you by **${reply-by}** if the times don't work for you. (We can shuffle things around even after that date if something comes up.) Also, if you think your talk${plural} would go better next to a different talk, please let us know. ${timezone-note} Please keep emacsconf-submit@gnu.org in @@ -2675,11 +2706,11 @@ Sacha ### Schedule change affecting dev (Please ignore the previous update, I included the wrong times in the -e-mail. The web version’s been fine, though! Sorry about the extra +e-mail. The web version's been fine, though! Sorry about the extra e-mails.) I tweaked the schedule to put treesitter and lspbridge earlier, so -asmblox and wayland are a little later on Saturday morning. If you’d +asmblox and wayland are a little later on Saturday morning. If you'd like to see the latest schedule for your talk, you can go to . Thanks for your patience! @@ -2707,7 +2738,7 @@ Add your news and requests to this. Hello, EmacsConf volunteers! -We’re starting to gear up for EmacsConf 2022, and we would love to +We're starting to gear up for EmacsConf 2022, and we would love to figure out how to work with your skills, interests, and availability. has some specific task ideas and general roles. @@ -2715,24 +2746,24 @@ general roles. has an overall prioritization matrix. If any of those options look like something you want to learn or help with, or if you want to make -things even better than what’s in the table, let me know. +things even better than what's in the table, let me know. -Given the number of talks this year, we’re going to try to see if we -can pull off two tracks. I’ve posted a draft schedule at +Given the number of talks this year, we're going to try to see if we +can pull off two tracks. I've posted a draft schedule at and have e-mailed speakers to confirm their availability. This schedule staggers live Q&A sessions so that the person managing the streams can jump back and -forth as needed. We’ll figure out shifts once we’ve sorted out the +forth as needed. We'll figure out shifts once we've sorted out the processes and training info, but if you want to call dibs on something, feel free. -Please let me know what kinds of things you’d like to learn more about +Please let me know what kinds of things you'd like to learn more about or help out with! Sacha Chua -(You’re receiving this e-mail because you’re on the emacsconf-org +(You're receiving this e-mail because you're on the emacsconf-org mailing list. Thanks for wanting to help out!) @@ -2750,20 +2781,20 @@ Should take no more than ~20′. ## DONE Ask emacsconf-org-private for feedback on early submissions The EmacsConf 2022 CFP was extended to Sept 30 with notifications to -go out on Oct 15. We’ve got plenty of submissions and with any luck, -you’ve been reviewing them as they come in (assuming you have access to +go out on Oct 15. We've got plenty of submissions and with any luck, +you've been reviewing them as they come in (assuming you have access to emacsconf-submit@). As a courtesy to people who got their stuff together in a timely manner and to give them extra time to prepare a prerecorded talk (which might also translate into extra time for us to process and caption the talks), -I’d like to send acceptances and tentative time allotments by Sept 30. +I'd like to send acceptances and tentative time allotments by Sept 30. I plan to offer a max of 20 minutes with a note that additional time may be available for Q&A depending on how many additional submissions we get. Could everyone who wants a say in the program please add comments to $url by ****Sept 26**** so that we can send out early acceptances? In -general, we try to say yes to everything, so here’s your chance to +general, we try to say yes to everything, so here's your chance to raise any red flags or suggest ways to make things even better. Thanks! @@ -2866,10 +2897,10 @@ Hi, ${speakers-short}! Summary: ,${acceptance-tasks} -We’ve accepted your EmacsConf proposal${plural} for ${titles}! Thanks -for volunteering to share what you’re learning about. I know it takes +We've accepted your EmacsConf proposal${plural} for ${titles}! Thanks +for volunteering to share what you're learning about. I know it takes a fair bit of work to prepare a presentation, so I appreciate that -you’re taking the time to show what’s possible with Emacs and +you're taking the time to show what's possible with Emacs and encourage people to learn more.${wrap} --- @@ -2878,25 +2909,25 @@ ${talk-details-and-comments} --- -You’ll have some time after your talk${plural} for Q&A, so the allocated time +You'll have some time after your talk${plural} for Q&A, so the allocated time can be just for your pre-recorded talk${plural}. Of course, if you like, you can make it shorter. -We’ve posted preparation tips at . -We’ll send you instructions on how to upload files once we get that +We've posted preparation tips at . +We'll send you instructions on how to upload files once we get that set up. Could you please plan to ****put your pre-rec${plural} together by -${prerec-target}**** (or even earlier if you want)? We’re going to try +${prerec-target}**** (or even earlier if you want)? We're going to try to caption as many talks as possible again this year, and extra time helps a lot. People found the captions really helpful while watching the stream, and sending your talk in early will make it more likely -that we’ll be able to get your captions edited and reviewed before the +that we'll be able to get your captions edited and reviewed before the conference. ****Please reply to this e-mail by ${reply-date}**** (doublechecking that emacsconf-submit@gnu.org is in the To: or Cc:) so that we can confirm -that we’ve got the right email address for you and that messages can +that we've got the right email address for you and that messages can get properly delivered. Also, would you like us to put ${email} as the public contact information for you, or would you like us to add something else to the talk page${plural}?${wrap} @@ -2956,7 +2987,7 @@ Hi ${speakers-short}! Because you sent in your video early, we were able to caption it so that more people can find and enjoy your talk. ${captioner} -volunteered to caption your talk video, and here it is. I’ve attached +volunteered to caption your talk video, and here it is. I've attached the caption text file in case you want to review it, suggest any corrections, or use the text in a blog post or elsewhere. You can look at the attached file or watch your video with closed captions at @@ -2965,37 +2996,37 @@ ${url} . Thanks again for your contribution! Sacha -### Speakers we haven’t confirmed e-mail communications with +### Speakers we haven't confirmed e-mail communications with Hi, ${name}! -I think we haven’t heard from you since we accepted your EmacsConf -${year} proposal for "${title}&lsquo ;. EmacsConf coming up soon, so I wanted -to check in with you to see how you’re doing. +I think we haven't heard from you since we accepted your EmacsConf +${year} proposal for "${title}". EmacsConf coming up soon, so I wanted +to check in with you to see how you're doing. -Could you please e-mail us to let us know if you’re still working on -your prerecorded video, if you’re planning to present live, or if you -can’t make it this year? No worries if other priorities have come up -and you don’t have the time for a presentation. +Could you please e-mail us to let us know if you're still working on +your prerecorded video, if you're planning to present live, or if you +can't make it this year? No worries if other priorities have come up +and you don't have the time for a presentation. -If you’ve been working on a presentation, fantastic! When you’re +If you've been working on a presentation, fantastic! When you're ready, you can upload it following the instructions at (ideally before ${prerec-date} so that we have time to download it, doublecheck, etc.). If you plan to present live, please go through the self-check at . Some speakers have encountered -technical issues with BigBlueButton that they didn’t have with Zoom or +technical issues with BigBlueButton that they didn't have with Zoom or Google Meet, so this is something we definitely want to look into earlier rather than later. If that works for you, please e-mail us back so that I can keep your timeslot. The tentative schedule for your talk is on the talk page at ${url} . -**Please e-mail us your plans before ${date}.** I’m +**Please e-mail us your plans before ${date}.** I'm planning to shift the schedule around to give more time to confirmed -speakers for Q&A and possibly live demos. If I don’t hear from you by +speakers for Q&A and possibly live demos. If I don't hear from you by then (maybe an over-enthusiastic spam filter has been swallowing up -all our mail?), I’ll probably reallocate the ${time} minutes that had +all our mail?), I'll probably reallocate the ${time} minutes that had been set aside for your talk. We might be able to squeeze it back in afterwards or play a video from you at the end of the conference day, but it would be nice to get the schedule sorted out instead of @@ -3031,9 +3062,9 @@ Sacha Chua Hi ${speakers}, -EmacsConf is in a few days and I don’t think we have your prerecorded -video yet, so I’m getting miiiildly stressed about the schedule. And -you’re probably stressing out about it too, so let’s go figure out how +EmacsConf is in a few days and I don't think we have your prerecorded +video yet, so I'm getting miiiildly stressed about the schedule. And +you're probably stressing out about it too, so let's go figure out how we can make this work. Option A: If you happen to have the prerecording or can get it done by @@ -3043,11 +3074,11 @@ ftp-upload.emacsconf.org by following the instructions in your favourite file-sharing service (especially if FTP is giving you problems). -Option B: If you want to present live, it might be an option. I’m a little -worried about the potential for technical issues, since we’ve had +Option B: If you want to present live, it might be an option. I'm a little +worried about the potential for technical issues, since we've had problems with that in previous EmacsConfs. The tight schedule means -there’s not a lot of time to figure things out, and it can be hard to -make something as focused as a prerecorded video when you’re doing it +there's not a lot of time to figure things out, and it can be hard to +make something as focused as a prerecorded video when you're doing it live. We will definitely want to make sure that: - your self-serve tech check works: @@ -3059,12 +3090,12 @@ live. We will definitely want to make sure that: on the day of the conference. If there are technical issues or your talk runs a little over time, we -might have to stop streaming it on the main stream when it’s time for +might have to stop streaming it on the main stream when it's time for the next talk. We may be able to continue streaming it on the alternate stream. If so, people can continue watching it there if they wish to. -Option C: If you can’t make it, that’s okay. Life gets crazy +Option C: If you can't make it, that's okay. Life gets crazy sometimes. Please let us know and we can update the wiki. If you happen to be able to make a prerecorded video afterwards, we can add that to the wiki, playlists, and announcements. We hope you can join @@ -3072,8 +3103,8 @@ us next year. Since EmacsConf is **this weekend** (aaaaaaah), please let us know by tomorrow noon EST (Friday; 9AM PST, 5PM GMT, 6PM CET) so that we can -keep the time allocated for you in the schedule. If we don’t hear from -you, we’ll probably reallocate the ${time} minutes reserved for you so +keep the time allocated for you in the schedule. If we don't hear from +you, we'll probably reallocate the ${time} minutes reserved for you so that other talks can have longer Q&A. If you can still make it, check in early and let us know so that we can try to work out an alternate stream for you. Hope to hear from you soon! @@ -3086,13 +3117,13 @@ Sacha Goals: - Ask speaker verify their scheduled time - It has already been confirmed with them, but it might have changed slightly (give-or-take 30’ + It has already been confirmed with them, but it might have changed slightly (give-or-take 30' - HOW: They should check the time at the top of their talk page on the day of the conference - Double-check Q&A preference, encourage tech checks for live talks/Q&A - If they are available: - Direct to tech-checks via - Inform them of the check-in process - - They come say hi to us 30’ before their session in #emacsconf-org or #emacsconf (they can use chat.emacsconf.org ) + - They come say hi to us 30' before their session in #emacsconf-org or #emacsconf (they can use chat.emacsconf.org ) - We get them set up in a room where they can wait until the end of the broadcast of their pretention - They’re joined by the streamer and host. @@ -3156,9 +3187,9 @@ Slightly more complex because of the conditionals Hello, ${name}! -We’re looking forward to having you join us at EmacsConf! +We're looking forward to having you join us at EmacsConf! -We’ll probably keep updating the schedule even on the day of the +We'll probably keep updating the schedule even on the day of the conference. You can get a rough idea of when your talk is scheduled at ${url}. You might want to check it some time next week to get a rough sense of where it is, and then check it again on the day of your talk. @@ -3168,7 +3199,7 @@ prerecorded talk so that we can deal with small scheduling changes or technical issues. You can find the check-in process at . -If something comes up, please let us know as soon as you can. Here’s +If something comes up, please let us know as soon as you can. Here's our emergency contact information: ${emergency} @@ -3182,15 +3213,15 @@ Sacha Hello, ${name}! -Thank you so much for contributing a talk for EmacsConf ${year}! We’re +Thank you so much for contributing a talk for EmacsConf ${year}! We're looking forward to collecting questions and forwarding them to you by -e-mail after the conference. We’ll also post the prerecording at the +e-mail after the conference. We'll also post the prerecording at the time that it gets streamed, so people will be able to access it at ${url} once it has gone live. If it turns out that you can make it to the conference after all, feel -free to drop us a line at #emacsconf-org and we’ll let people know -you’re around. You can find the check-in process at +free to drop us a line at #emacsconf-org and we'll let people know +you're around. You can find the check-in process at . Thank you again for being part of EmacsConf ${year}! @@ -3253,17 +3284,17 @@ Sacha Hi ${speakers-short}! Thank you so much for being part of EmacsConf ${year}! Hundreds of people -enjoyed it, and I’m sure even more will come across the videos in the +enjoyed it, and I'm sure even more will come across the videos in the days to follow. Your prerecorded video is available on the talk page at ${url} , and -we’ve added the questions and comments that we’ve collected from +we've added the questions and comments that we've collected from IRC/BBB/Etherpad. ${qa-note} -We’ve also uploaded your talk video to ToobNix (a PeerTube +We've also uploaded your talk video to ToobNix (a PeerTube instance) at ${toobnix-url} and YouTube at ${youtube-url} . If you want to reupload the video to your own channel, feel free to do so. -${subtitle-note} If you let me know where you’ve uploaded +${subtitle-note} If you let me know where you've uploaded it, I can switch our playlist to include your version of the video instead. That way, it might be easier for you to respond to comments on videos. @@ -3290,11 +3321,11 @@ how to send in your proposal(s), or chat with us about them and about other ways of participating and volunteering around EmacsConf via our main IRC channel #emacsconf on the Libera.Chat network. -If you’re considering submitting a proposal but think the remaining +If you're considering submitting a proposal but think the remaining time may not be enough, please reach out to me off-list as soon as possible so we could work something out. -I’ll close this portion of the email with a thank you to all of the +I'll close this portion of the email with a thank you to all of the folks who have submitted session proposals or expressed interest in volunteering with EmacsConf. We look forward to reading and reviewing all of your messages and proposals, and getting back to you about them @@ -3305,7 +3336,7 @@ amin P.S. please direct any replies to this post either to myself or to the emacsconf-discuss list, so as to help avoid generating extra off-topic -chatter in the other lists cc’d on this message. Thank you. +chatter in the other lists cc'd on this message. Thank you. ### DONE First announcement: CFP @@ -3325,7 +3356,7 @@ and running the conference, including reviewing session proposals and streaming parallel tracks. To get involved, please come by our IRC channel or one of our public mailing lists (see below) and introduce yourself and tell us about your interests, or contact myself or one of -the other organizers directly if you’re feeling a bit shy; we hope to +the other organizers directly if you're feeling a bit shy; we hope to hear from you! :) Best, @@ -3333,7 +3364,7 @@ amin P.S. please direct any replies for this message either to me or to the emacsconf-discuss list, so as to help avoid generating extra off-topic -chatter in the other lists Cc’d on this message. Thank you. +chatter in the other lists Cc'd on this message. Thank you. @@ -3518,7 +3549,7 @@ see emacsconf-import-comments-from-etherpad-text - [ ] Having a more relaxed Saturday might give us time to adjust to tech-stack. - [ ] Creating BBB rooms in anticipation and/or automatically, before or during, might make for smoother check-in; right now, people keep wanting to check in via email even though we told them to use chat - [ ] Pre-recs were a little blocky wrt encoding; we might want to bump the bitrate next year -- [ ] we can see if bot + pads + merging will help next year, and we can also experiment with multiple streams if there are enough people to pull it off so that speakers don’t feel like they’ve just been dropped in a room and left to their own devices :) +- [ ] we can see if bot + pads + merging will help next year, and we can also experiment with multiple streams if there are enough people to pull it off so that speakers don't feel like they've just been dropped in a room and left to their own devices :) ## Lessons learned for next year @@ -3535,10 +3566,10 @@ see emacsconf-import-comments-from-etherpad-text format makes it harder not only for the organizers, but also for the speakers themselves (since they will have to rethink their presentation). Maybe we can have an e-mail template for a quick - reply that says something like &lsquo ;Just in case we need to squeeze + reply that says something like "Just in case we need to squeeze talks into shorter times, could you please also propose an outline for a possible 10-minute talk that could get people interested in - your topic and point them to where they can find out more?’ + your topic and point them to where they can find out more?" - Two people is the sweet number of reviewers to have for the proposals before sending the notifications, and there’d be diminishing returns with more. Two is enough to release the pressure diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index 81465a16..51fa4128 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -306,12 +306,11 @@ Where should we host this? Consider if we need extra scaling beyond being on a beefy live0? - Scale calculator: https://scale.etherpad.org/ - - assuming 3 concurrent authors, 200 lurkers per pad, 3 concurrent pads - - 1 core, 4GB RAM, bandwidth Mb/s: 14.688 + - assuming 3 concurrent authors, 100 lurkers per pad, 3 concurrent pads + - 1 core, 4GB RAM, bandwidth Mb/s: 7.488 - https://mclear.co.uk/2021/09/08/deploying-etherpad-at-scale-in-one-minute/ - https://github.com/ether/etherpad-load-test -etherpad-load-test: 1GB nanode, 42 clients connected (11 authors, 31 lurkers) Will need to try this again when we resize nodes. Probably just the extra memory will be enough and the CPU use from node won't step on the streaming, but not sure *** DONE Use the API to create pages based on all the slugs @@ -321,9 +320,62 @@ CLOSED: [2022-10-12 Wed 20:31] History or regeneration will be fine. We'll probably link to it shortly before the event, and we can also turn off the service until we're ready. *** DONE Generate talk-specific pad content CLOSED: [2022-10-12 Wed 20:31] -*** TODO Set up nginx reverse proxy +*** DONE Set up nginx reverse proxy +CLOSED: [2022-10-13 Thu 12:19] +*** DONE Load-test +CLOSED: [2022-10-13 Thu 12:32] + +tl;dr: Either a separate 4GB Linode or being on live0 will probably be +okay, but I'm not 100% sure due to the limitations of my load-testing +setup. I don't know if we need to shard by pad. + +It looks like etherpad-load-test tends to max out at ~40 connections +on a specific node. I used GNU Parallel to run the loadtesting tool +against a 4GB Linode instance (shared CPU) from five nodes at the same +time (my X220, my 2GB Linode instance, front0, and the node with the +pad), and they all reached about 35-45 clients before failure (not +updating within 100ms). + +#+begin_src sh :eval no +echo 'node node_modules/etherpad-load-test/app.js http://170.187.195.5:9001 -d 120 > ~/output.txt' | parallel -J loadtest -j 1 --onall --verbose --tag +#+end_src + +#+begin_src sh :eval no :results output replace +echo 'grep Local ~/output.txt | tail -1' | parallel -J loadtest -j 1 --onall --tag +#+end_src + +#+RESULTS: +:results: +: Local Clients Connected: 43 +front Local Clients Connected: 43 +live Local Clients Connected: 44 +root@170.187.195.5 Local Clients Connected: 38 +web Local Clients Connected: 42 +:end: + +Files were created at roughly the same time, so the max loads probably +overlapped. It would be good to have finer control over the +etherpad-load-test tool. Haven't figured out how to properly use ~-l~ +and ~-a~ yet. + +#+begin_src sh :eval yes :results output replace +echo 'stat -c %y ~/output.txt' | parallel -J loadtest -j 1 --onall --tag +#+end_src + +#+RESULTS: +:results: +: 2022-10-13 12:42:32.212744774 -0400 +front 2022-10-13 16:42:34.466605650 +0000 +live 2022-10-13 16:38:46.818016379 +0000 +root@170.187.195.5 2022-10-13 16:39:01.738965567 +0000 +web 2022-10-13 12:39:14.417086960 -0400 +:end: -*** TODO Link to pad from talk page +CPU graph went only up to 5%. Network max was 2.36 Mb/s in, 1.25 Mb/s out. +looking at top, CPU seems to go only up to about 12% or so. +*** TODO Set up pad.emacsconf.org to point to live0.emacsconf.org :bandali: +*** BLOCKED Set up letsencrypt +*** BLOCKED Link to pad from talk page *** TODO Be able to fall back to wikimedia if necessary, probably keyed off PAD property ** TODO Update IRC instructions because of multiple tracks :PROPERTIES: -- cgit v1.2.3