Tinyboard, Yotsuba and Lynxchan in comparison Plain Text
02:55:14 Jesus StephenLynx: you could make tinyboard output .html files to a ramdisk I guess 02:55:25 Jesus but at that point you might as well use varnish 02:56:14 Jesus there's a big difference between using a dynamic language to cache and turning it into static 02:58:04 Jesus generating .html and varnish seem to be the only 2 ways 03:02:49 StephenLynx I know there is a difference. 03:03:01 StephenLynx the difference is that dynamic pages are CPU intensive. 03:03:05 StephenLynx which I warned josh about. 03:03:14 StephenLynx and surprise, surprise, his engine would rape the CPU 03:03:26 Jesus yeah 03:03:28 StephenLynx enter the crutch, I mean, varnish 03:03:32 Jesus but isn't 250 requests per second also small 03:03:53 StephenLynx ask josh how many he can get per core. 03:04:10 Jesus 4chan is probably serving ten thousand pages per second 03:04:15 StephenLynx per core? 03:04:23 capone and halve the number of cores 03:04:36 capone wait nvm 03:04:47 StephenLynx lynxchan could serve one billion requests per second given enough servers with enough cores on each. 03:05:03 Jesus same for Next 03:05:06 Jesus moot point 03:05:11 StephenLynx exactly 03:05:17 StephenLynx this is why I say "per core" 03:05:22 StephenLynx the total doesn't matter too much. 03:05:42 StephenLynx unless you know how many servers and their hardware they got over 4ch 03:05:44 Jesus 8chan doesn't have enough servers or cores 03:05:48 StephenLynx it doesn't matter how many requests they serve 03:05:54 StephenLynx to run using next. 03:05:55 Jesus if it did, there'd be no I/O bullshit 03:05:58 StephenLynx kek 03:06:10 StephenLynx how does that make any sense? 03:06:14 StephenLynx >there is not enough CPU 03:06:18 StephenLynx >so the IO is not enough 03:06:25 StephenLynx vvvv: 03:06:27 Jesus more servers, more cores 03:06:35 StephenLynx ok 03:06:36 StephenLynx so? 03:06:45 StephenLynx how does that affect how much I/O you can perform? 03:06:56 Jesus more servers, more I/O 03:07:02 StephenLynx not necessarily. 03:07:10 StephenLynx if they read from the same disk in the end. 03:07:41 Jesus 8chan has a limited # of servers, if it had servers to perform "one billion requests per second", then it'd have 100 boards per server or some shit 03:08:06 StephenLynx again, what matters is also "per core" 03:08:12 StephenLynx not just per second 03:08:14 Jesus which is why varnish is needed 03:08:19 StephenLynx for next. 03:08:23 StephenLynx since it is slow as shit. 03:08:56 Jesus lynxchan would also benefit from varnish because you're still dynamically generating static pages 03:09:02 StephenLynx I am not. 03:09:23 StephenLynx only pages that can't be cached are dynamic. 03:09:29 Jesus programming node.js to fetch a static resource isn't like nginx serving static files 03:09:32 StephenLynx like account pages or board management pages. 03:09:51 StephenLynx still they are not dynamic. 03:10:06 StephenLynx I perform as much IO nginx would. 03:10:16 StephenLynx read byte, output byte. 03:10:36 StephenLynx nginx would do as much IO reading from mongo like I do. 03:10:39 Jesus nginx does much more than 250 static files per core 03:10:57 StephenLynx good for nginx. 03:11:14 StephenLynx I have no doubts nginx reading directly from mongo would perform a little better. 03:11:24 Jesus google nginx requests per second 03:11:28 StephenLynx why? 03:11:35 Jesus because the numbers mentioned are much larger 03:11:40 Jesus that's why I'm confused 03:11:45 StephenLynx but I am not comparing to nginx. 03:11:48 StephenLynx I am comparing to next. 03:12:05 Jesus I'm comparing to tinyboard 03:12:15 Jesus cuz that's the standard in static file serving 03:12:21 StephenLynx but we know tinyboard issue is not reading. 03:12:35 StephenLynx what good it is how fast you can read pages if the pages are not being written and you can't post? 03:12:59 Jesus that's why it should serve pages dynamically and you just use varnish 03:13:08 StephenLynx or 03:13:14 StephenLynx you write in an intelligent manner. 03:13:18 StephenLynx like I do. 03:13:33 Jesus you could put another caching mechanism between the dynamic page and varnish 03:13:39 StephenLynx kek 03:13:45 Jesus like you did 03:13:48 StephenLynx I did? 03:13:57 Jesus you use memcached 03:13:59 StephenLynx I just rely on mongo's own memcache. 03:14:03 StephenLynx I don't use memcached. 03:14:20 StephenLynx mongo does its own thing with his cache and I just trust that is done properly. 03:15:24 Jesus your code is still being executed on every read 03:15:31 StephenLynx yes. 03:15:48 StephenLynx but given node's performance, I am not concerned about that. 03:15:50 Jesus that makes it not static 03:15:57 StephenLynx oh lawdy 03:16:01 StephenLynx sure thing, bro 03:16:06 StephenLynx w/e you say 03:16:48 Jesus like by definition it isn't 03:17:06 StephenLynx and what do you think nginx does? 03:17:08 StephenLynx magic? 03:17:16 StephenLynx you think it doesn't execute code to serve request? 03:17:44 Jesus varnish also improves tinyboard 03:17:54 StephenLynx it just uses the power of fucking unicorn jizz to transmit data from disk to the request? 03:17:57 StephenLynx again 03:18:06 StephenLynx the problem with tiny board is the writing. 03:18:19 StephenLynx they put it behind FUCKING CLOUDFLARE and still rape I/O 03:18:28 Jesus idk, maybe your unicorn jizz in node.js really is magic 03:18:32 Jesus lol 03:18:52 StephenLynx no, is just good software. rarer than you think on the web ecosystem. 03:19:26 Jesus cloudflare has nothing to do with it 03:19:48 StephenLynx it just saved 33% of 8ch bandwidth 03:19:51 StephenLynx sure it had nothing to do. 03:20:06 Jesus yea, images 03:20:19 StephenLynx and where the fuck you think the server reads those from? 03:20:30 StephenLynx or are you implying you could just jam all that shit into varnish too? 03:20:44 StephenLynx you got some 1tb ram sticks lying around? 03:20:46 Jesus I'm talking about static pages 03:21:02 StephenLynx where do you think they are? 03:21:02 Jesus eh, I could rig up 1TB of RAM for a little over $1000 03:21:10 Jesus but that's beside the point 03:21:22 StephenLynx you think 8h got just a few tb of images? 03:21:33 StephenLynx are you even thinking? 03:21:36 StephenLynx fuck 03:21:53 Jesus nah I'm just commenting on your tangents 03:21:58 Jesus they're funny [...] 03:26:19 Jesus nginx still needs to form the request, but it does it fast enough that varnish isn't required [...] 03:27:27 Jesus but invoking a dynamic page requires some overhead 03:31:07 Jesus 4chan pages update every 10 seconds I think 03:31:35 Jesus or 5 seconds 03:33:22 Jesus each page only gets generated 6-12 times a minute 03:34:03 Jesus and still serves possibly tens of thousands of requests a second 03:37:03 Jesus even if generating the page is fast, a cache layer is still needed 03:37:42 Jesus there's gonna be more than 250 people (per core) spamming their refresh buttons 03:41:41 Jesus even if a dynamic language does caching, invoking it 1000 times a second is still slower 03:42:33 Jesus unless you're doing the entire process in C or assembly or some shit 03:43:15 Jesus (which is what varnish does)