mirror of
https://github.com/flancian/garden.git
synced 2026-08-06 14:36:18 +00:00
Merge branch 'master' of github.com:flancian/garden
This commit is contained in:
+8
-13
@@ -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
@@ -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
@@ -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]]
|
||||
|
||||
|
||||
@@ -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)
|
||||
```
|
||||
@@ -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.
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
- [[thought magick]]
|
||||
- [[defcon]]
|
||||
- [[defcon radio]]
|
||||
- [[arcologies]]
|
||||
- [[do]]
|
||||
- [[push]] [[later]]
|
||||
- [[slay moloch]]
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
```
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
# uwsgi caching
|
||||
|
||||
- [[pull]] [[nginx caching]]
|
||||
- [[uwsgi]] is what [[agora server]] users ([[Python]] middleware).
|
||||
|
||||
Reference in New Issue
Block a user