Merge branch 'master' of github.com:flancian/garden

This commit is contained in:
2021-08-14 21:01:21 +02:00
11 changed files with 284 additions and 18 deletions
+8 -13
View File
@@ -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]]
+10
View File
@@ -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]]
+4 -1
View File
@@ -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]]
+200
View File
@@ -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)
```
+4
View File
@@ -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.
+1
View File
@@ -14,6 +14,7 @@
- [[thought magick]]
- [[defcon]]
- [[defcon radio]]
- [[arcologies]]
- [[do]]
- [[push]] [[later]]
- [[slay moloch]]
+18 -3
View File
@@ -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
+23
View File
@@ -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;
}
```
+6
View File
@@ -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
+5 -1
View File
@@ -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.
-
- 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.
+5
View File
@@ -0,0 +1,5 @@
# uwsgi caching
- [[pull]] [[nginx caching]]
- [[uwsgi]] is what [[agora server]] users ([[Python]] middleware).