- The speakers were smart, but their content was pretty standard.
- To avoid the global interpreter lock, run two instances of CherryPy.
- They were using Nginx for load balancing. It can "spoon feed" clients. It can talk to memcached.
- Of course, a missing index in the database can destroy everything.
- They automated deployment to new servers.
- Their "dirty little secret" was that they used ZXTM Zeus server for caching, load balancing, and SSL accelaration.
- If users repeated hit the reload button because of a slow page load, they will compound the situation until they eventually bring down the server. You may want time limits. You may need maximum client connection limits.
- You may want to disable swap to avoid thrashing.
I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option. The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the othe