11:09:01 OdiliTime n-tech: m only serves static files right?
11:09:02 mona now can we get rid of OdiliTime?
11:09:14 OdiliTime I'll leave, I'm just trying to help
11:09:14 @n-tech yes
11:09:36 OdiliTime has any one else seen slowness on m serving files?
11:09:40 @n-tech yes
11:09:46 @n-tech it does have to connect to pgsql though
11:09:50 @n-tech I wonder if that's it
11:10:02 OdiliTime why, postgres to serve static? logging files?
11:10:02 @n-tech it has to use pgsql to redirect requests
11:10:09 OdiliTime ah redirect map
11:10:11 @n-tech because it can't know where a file is located
11:10:11 @n-tech yea
11:10:13 OdiliTime can you just write it to file
11:10:18 OdiliTime and have it operate off the file
11:10:25 @n-tech It shouldn't be having any problems
11:10:29 OdiliTime and just refresh file in cron every 5 minutes
11:10:39 OdiliTime HUP nginx to reload
11:10:47 OdiliTime yea m really shouldn't be
11:10:52 JB i was going to suggest inserting a microtime var at the beginning of the script and check the elapsed microtime at the end of the script by logging it to newlines in a txt file, if the average value is on the large side then you know that is where the bottleneck is, then you concretely know the solution is one of two things, either increase max_children or further optimize the script
[...]
11:11:11 @n-tech we already do this
11:11:25 @n-tech it loads between 80ms and 900ms
11:11:39 @n-tech I can see precisely how long queries take and how long the entire script takes
11:11:41 OdiliTime so nginx isn't directly communicating with postgres
11:11:45 @n-tech 90% of load time is waiting for phpfpm to pick up the phone
11:11:48 @n-tech no? why would it
11:11:49 @n-tech how would it
11:11:56 ranix hmm
11:11:56 OdiliTime my misunderstanding
11:12:20 OdiliTime you said m.8ch.net has to connect to pgsql
11:12:28 OdiliTime thought that meant on every request
11:12:40 ranix n-tech: are you doing anything dumb like trying to use gz compression for inter-process communication on the same server
11:12:59 OdiliTime you going directly to postgres or do you have a postgres proxy pool
11:13:03 @n-tech I have no idea how I'd check for that but I don't think so
11:13:13 @n-tech we have pgbouncer but the debug bar shows queries take 30ms tops
11:13:17 @n-tech but usually under 1ms
[...]
11:13:20 OdiliTime ranix: you mean like on the postgres connection?
11:13:23 @n-tech i've also repeatedly ruled out pgsql
11:14:28 Drybones something fucky is happening on m.8ch.net
11:14:45 OdiliTime yea m.8ch.net is the key
11:14:53 OdiliTime static file serving taking 40s
11:14:54 ranix OdiliTime: I was thinking about the builtin nginx compression but that seems to be for outbound stuff and you'd see a resource hit
11:15:11 OdiliTime ranix: his nginx does gz the web traffic
11:15:34 JB well from the wc -l check earlier, we know you have 16 child processes, and each request takes 80-900 ms to complete (so an average of 490 ms), so requests handled per second is capped at (16 processes * 490/1000 seconds), so 7.84 requests per second, meaning if you start receiving a steady 8 requests per second or more, php will eventually uncontrollably bottleneck as the unfulfilled requests start queueing
11:15:45 ranix OdiliTime: can't be the problem anyway because the cpu would peg not be idle
11:15:54 JB so you need more child processes
11:15:54 OdiliTime ranix: yea
11:16:11 OdiliTime static file serving shouldn't be 40secs
11:16:30 ranix how well do you guys know bsd
11:16:35 JB i thought he said m.8ch.net is different box
11:16:40 JB +a