diff --git a/arcologies.md b/arcologies.md index 58979630f..620f5b2d7 100644 --- a/arcologies.md +++ b/arcologies.md @@ -1,20 +1,15 @@ -- [[wp]] https://en.wikipedia.org/wiki/Arcology - - [[go]] [[wp]] - - ever since I played [[simcity 2000]] I have liked them. - - [[solarpunk]] - - [[cyberpunk]] - - [[sci fi]] - - [[paolo soleri]] - - [[kenzo tange]] +- [[pull]] [[arcology]] - a [[list]] - - [[launch]] - - [[plymouth]] - - [[forest]] - - [[darco]] + - https://twitter.com/flancian/status/1393939171958476803 + - [[simcity 2000]] https://medium.com/@LeavittAlone/sim-city-2k-post-capitalism-and-the-four-futures-b21de83381f7 + - [[launch]] + - [[plymouth]] + - [[forest]] + - [[darco]] - [[arcosanti]] - [[kowloon walled city]] - [[begich towers]] - [[kraftwerk 1]] -https://twitter.com/flancian/status/1393939171958476803 + ![[arcology.jpg]] \ No newline at end of file diff --git a/arcology.md b/arcology.md index 9046daa1c..25f4b576a 100644 --- a/arcology.md +++ b/arcology.md @@ -1 +1,11 @@ +- a [[technology]] - [[pull]] [[arcologies]] +- [[wp]] https://en.wikipedia.org/wiki/Arcology + - [[go]] [[wp]] +- ever since I played [[simcity 2000]] I have liked them. +- [[solarpunk]] +- [[cyberpunk]] +- [[sci fi]] +- [[paolo soleri]] +- [[kenzo tange]] + diff --git a/async search.md b/async search.md index 846bff9ec..8f85995d8 100644 --- a/async search.md +++ b/async search.md @@ -1,12 +1,15 @@ # async search -- search currently happens in every node, and it's full text search. this is very costly, I knew when adding it but it was just too convenient. +- search currently happens in every node by default, and it's full text (regex even) search. this is very costly, I knew when adding it but it was just too convenient and useful to have it :) - today on [[2021-08-14]] I'll try to fix this by making search be an async action: search only triggers when users reach the bottom of the page or request searching explicitly. - this will have the nice side effect of making the agora cheap by default when servicing bot requests, which probably won't run the javascript that is needed to retrieve search. - initial testing with `ab` (I know, old school) - `ab -n 100 -c 10 https://1.anagora.org/index` - ~10 seconds overall, 50% ~0.6 seconds, 99% ~2 seconds - on localhost (dev instance) the 99% goes up to 50-60 seconds, there are clear hangs. + - [[before and after cache]] - testing after disabling full text search: - on localhost (dev instance) the 99% goes down to 3-6s (!). as expected, but nice to see. +- this didn't end up being enough to fix significant spikes of latency in high percentiles, so added [[uwsgi caching]] also. + - see [[before and after cache]] diff --git a/before and after cache.md b/before and after cache.md new file mode 100644 index 000000000..f87d9734e --- /dev/null +++ b/before and after cache.md @@ -0,0 +1,200 @@ +# before and after cache + +- before [[cache]] as of [[2021-08-14]]: +``` +This is ApacheBench, Version 2.3 <$Revision: 1879490 $> +Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ +Licensed to The Apache Software Foundation, http://www.apache.org/ + +Benchmarking 1.anagora.org (be patient).....done + + +Server Software: nginx/1.14.2 +Server Hostname: 1.anagora.org +Server Port: 443 +SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-CHACHA20-POLY1305,2048,256 +Server Temp Key: X25519 253 bits +TLS Server Name: 1.anagora.org + +Document Path: /index +Document Length: 86661 bytes + +Concurrency Level: 10 +Time taken for tests: 8.594 seconds +Complete requests: 100 +Failed requests: 0 +Total transferred: 8685300 bytes +HTML transferred: 8666100 bytes +Requests per second: 11.64 [#/sec] (mean) +Time per request: 859.357 [ms] (mean) +Time per request: 85.936 [ms] (mean, across all concurrent requests) +Transfer rate: 986.99 [Kbytes/sec] received + +Connection Times (ms) + min mean[+/-sd] median max +Connect: 83 86 4.7 85 118 +Processing: 508 709 387.8 615 2408 +Waiting: 394 596 387.8 502 2295 +Total: 591 794 389.3 700 2497 + +Percentage of the requests served within a certain time (ms) + 50% 700 + 66% 726 + 75% 743 + 80% 751 + 90% 782 + 95% 1816 + 98% 2471 + 99% 2497 + 100% 2497 (longest request) +``` + +- after adding [[nginx caching]] / [[uwsgi caching]]: +``` +flancian@paramita:/etc/nginx/sites-enabled$ ab -n 100 -c 10 https://1.anagora.org/index +This is ApacheBench, Version 2.3 <$Revision: 1879490 $> +Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ +Licensed to The Apache Software Foundation, http://www.apache.org/ + +Benchmarking 1.anagora.org (be patient).....done + + +Server Software: nginx/1.14.2 +Server Hostname: 1.anagora.org +Server Port: 443 +SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-CHACHA20-POLY1305,2048,256 +Server Temp Key: X25519 253 bits +TLS Server Name: 1.anagora.org + +Document Path: /index +Document Length: 86773 bytes + +Concurrency Level: 10 +Time taken for tests: 2.907 seconds +Complete requests: 100 +Failed requests: 0 +Total transferred: 8696500 bytes +HTML transferred: 8677300 bytes +Requests per second: 34.39 [#/sec] (mean) +Time per request: 290.748 [ms] (mean) +Time per request: 29.075 [ms] (mean, across all concurrent requests) +Transfer rate: 2920.98 [Kbytes/sec] received + +Connection Times (ms) + min mean[+/-sd] median max +Connect: 83 87 11.4 85 196 +Processing: 165 171 6.8 170 208 +Waiting: 54 56 2.2 56 65 +Total: 249 259 13.7 255 364 + +Percentage of the requests served within a certain time (ms) + 50% 255 + 66% 257 + 75% 260 + 80% 262 + 90% 275 + 95% 276 + 98% 303 + 99% 364 + 100% 364 (longest request) +``` + +- in [[thecla]], before and after for same config change, with [[async search]] already deployed: + +``` +flancian@paramita:/etc/nginx/sites-enabled$ ab -n 100 -c 10 https://anagora.org/index +This is ApacheBench, Version 2.3 <$Revision: 1879490 $> +Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ +Licensed to The Apache Software Foundation, http://www.apache.org/ + +Benchmarking anagora.org (be patient).....done + + +Server Software: nginx/1.14.2 +Server Hostname: anagora.org +Server Port: 443 +SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-CHACHA20-POLY1305,2048,256 +Server Temp Key: X25519 253 bits +TLS Server Name: anagora.org + +Document Path: /index +Document Length: 42600 bytes + +Concurrency Level: 10 +Time taken for tests: 8.310 seconds +Complete requests: 100 +Failed requests: 0 +Total transferred: 4279200 bytes +HTML transferred: 4260000 bytes +Requests per second: 12.03 [#/sec] (mean) +Time per request: 830.959 [ms] (mean) +Time per request: 83.096 [ms] (mean, across all concurrent requests) +Transfer rate: 502.90 [Kbytes/sec] received + +Connection Times (ms) + min mean[+/-sd] median max +Connect: 63 66 2.8 65 76 +Processing: 313 716 772.1 431 3046 +Waiting: 312 715 772.2 430 3045 +Total: 378 782 773.8 496 3120 + +Percentage of the requests served within a certain time (ms) + 50% 496 + 66% 528 + 75% 538 + 80% 554 + 90% 2674 + 95% 2885 + 98% 3018 + 99% 3120 + 100% 3120 (longest request) +``` + +``` +flancian@paramita:/etc/nginx/sites-enabled$ ab -n 100 -c 10 https://anagora.org/index +This is ApacheBench, Version 2.3 <$Revision: 1879490 $> +Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ +Licensed to The Apache Software Foundation, http://www.apache.org/ + +Benchmarking anagora.org (be patient).....done + + +Server Software: nginx/1.14.2 +Server Hostname: anagora.org +Server Port: 443 +SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-CHACHA20-POLY1305,2048,256 +Server Temp Key: X25519 253 bits +TLS Server Name: anagora.org + +Document Path: /index +Document Length: 42600 bytes + +Concurrency Level: 10 +Time taken for tests: 1.352 seconds +Complete requests: 100 +Failed requests: 0 +Total transferred: 4279200 bytes +HTML transferred: 4260000 bytes +Requests per second: 73.96 [#/sec] (mean) +Time per request: 135.205 [ms] (mean) +Time per request: 13.521 [ms] (mean, across all concurrent requests) +Transfer rate: 3090.79 [Kbytes/sec] received + +Connection Times (ms) + min mean[+/-sd] median max +Connect: 63 67 3.1 67 80 +Processing: 42 52 38.3 44 393 +Waiting: 40 46 12.2 42 95 +Total: 105 120 38.2 111 458 + +Percentage of the requests served within a certain time (ms) + 50% 111 + 66% 112 + 75% 114 + 80% 117 + 90% 143 + 95% 153 + 98% 215 + 99% 458 + 100% 458 (longest request) +``` \ No newline at end of file diff --git a/build pyramids.md b/build pyramids.md new file mode 100644 index 000000000..ca0a6865d --- /dev/null +++ b/build pyramids.md @@ -0,0 +1,4 @@ +# build pyramids + +- I think we should [[build pyramids]], but under one condition only: each unit block we add to them (Minecraft like) maps to a human being that died without having gotten the necessary living conditions to [[thrive]] in some region of the universe. + diff --git a/journal/2021-08-14.md b/journal/2021-08-14.md index 85999ed17..0bc530c11 100644 --- a/journal/2021-08-14.md +++ b/journal/2021-08-14.md @@ -14,6 +14,7 @@ - [[thought magick]] - [[defcon]] - [[defcon radio]] +- [[arcologies]] - [[do]] - [[push]] [[later]] - [[slay moloch]] diff --git a/later.md b/later.md index 4f9ad228a..2f9708d1b 100644 --- a/later.md +++ b/later.md @@ -3,8 +3,21 @@ - a [[list]]. - [[irregular]] - Thoughts that come up while I was doing [[pomodoro]]. - - Write about [[excursion]]. - - [[onkyo volume]] + - [[slay moloch]] + - [[sorting pushes]] + - [[pull arbitrary urls]] + - pull wikipedia works + - fix duplicate [[go links]] behaviour + - [[write]] [[on building bridges]] + - [[write]] [[topology]] + - [[read]] [[category theory]] + - measures/metrics for 'distance to isomorphism'? + - e.g. measures of information loss in transforms + - seems to map to complexity of convergence in computation / difficulty to [[merge]] + - [[topology]] + - Write about [[excursion]]. + - [[onkyo volume]] + - ? meh - Write about [[music mouse]]. - Write a post about my [[virtual desktop setup]]. - [[pull]] means [[uprank]] @@ -28,11 +41,13 @@ - [[clipboard sync]] - [[tweets]] - [[wayland]] -- [[done]] +- [[push]] [[done]] - [[listen]] audio messages - [[jonathan]] - [[friends]] - [[family]] +- push done should elide from source, clean up, collapse/zip + diff --git a/nginx caching.md b/nginx caching.md new file mode 100644 index 000000000..58fe8395d --- /dev/null +++ b/nginx caching.md @@ -0,0 +1,23 @@ +# nginx caching + +- [[push]] [[agora server]] + - [[pull]] [[before and after cache]] + - added this to nginx.conf in http scope: + +``` + uwsgi_cache_valid any 30s; + uwsgi_cache_path /tmp/agora-cache keys_zone=agora-cache:1000m; +``` + +- [[push]] [[agora server]] + - and this is what the [[agora]]'s `location` looks like in the virtual host: + +``` + location / { + uwsgi_cache agora-cache; + uwsgi_cache_key $scheme$host$request_uri; + include uwsgi_params; + # /home/agora/agora-server/run-prod.sh to run. + uwsgi_pass unix:/tmp/agora-uwsgi.sock; + } +``` \ No newline at end of file diff --git a/simcity 2000.md b/simcity 2000.md new file mode 100644 index 000000000..db41fd92c --- /dev/null +++ b/simcity 2000.md @@ -0,0 +1,6 @@ +# simcity 2000 + +- a [[game]] + - I played it a *lot* when I was a kid + - [[go]] https://medium.com/@LeavittAlone/sim-city-2k-post-capitalism-and-the-four-futures-b21de83381f7 + diff --git a/tweets.md b/tweets.md index 6cf613548..02761115a 100644 --- a/tweets.md +++ b/tweets.md @@ -56,4 +56,8 @@ I think I might have found the way to simulate myself, at least while I'm sittin - There is a word for an entity that embeds itself in another, takes energy or information and doesn't give back in kind. It's also a hit 2019 movie. -- \ No newline at end of file +- Whenever I find something, I ask myself: how can we use this to [[slay moloch]]? + +- on [[building]]. + - I think we should [[build more bridges]]. + - I think we should [[build pyramids]], but under one condition only: each unit block we add to them (Minecraft like) maps to a human being that died without having gotten the necessary living conditions to [[thrive]] in some region of the universe. \ No newline at end of file diff --git a/uwsgi caching.md b/uwsgi caching.md new file mode 100644 index 000000000..da24957d6 --- /dev/null +++ b/uwsgi caching.md @@ -0,0 +1,5 @@ +# uwsgi caching + +- [[pull]] [[nginx caching]] + - [[uwsgi]] is what [[agora server]] users ([[Python]] middleware). +