Nach der Einrichtung -------------------- Komprimierung der Tiles ======================= Bei der folgenden Komprimierung handelt es sich um die on-the-fly-Komprimierung des Webservers (Apache, nginx). Um sicherzustellen, dass die Tiles komprimiert übertragen werden:: % curl -I -H 'Accept-Encoding: gzip,deflate' \ http://plexmap-server/static/tiles/terrain/tiles/9/265/171.json Natürlich muss hier eine JSON-Datei gewählt werden, die auch beim Start des Viewers geladen wird. Hierzu kann man sich mit der Entwicklerkonsole (F12 bei den meisten Browsern) alle Dateien anzeigen lassen. Eine richtige Ausgabe von dem obigen Befehl sollte ungefähr so aussehen:: HTTP/1.1 200 OK Server: nginx/1.1.19 Date: Tue, 15 Dec 2015 17:03:34 GMT Content-Type: application/json Last-Modified: Fri, 20 Mar 2015 18:43:01 GMT Connection: keep-alive Vary: Accept-Encoding Content-Encoding: gzip Die letzte Zeile ist das entscheidene Merkmal. Eingestellt wird dieses beim jeweiligen Webserver: * Apache:: AddOutputFilterByType DEFLATE application/json * nginx:: gzip on; gzip_min_length 1025; gzip_buffers 4 32k; gzip_types application/json text/plain application/x-javascript text/xml text/css; gzip_vary on; Performancetests ================ Ein schöner Weg zum Lasttesten mit httperf ist hier beschrieben: http://mervine.net/performance-testing-with-httperf Zusammenfassung/Anleitung: * 1.) Mit einem Browser auf http://plexmap-server gehen und die Kamera ein bischen bewegen. Vorher cache löschen. * 2.) Die letzten 1000 Anfragen aus dem Loadbalancer-access-log in urls.log schreiben. Dies sollte sowohl die ap1, als auch die ts1 und ts2 Zugriffe umfassen:: $ awk '{ print $7 }' access.log | tail -n 1000 > urls.log * 3.) Newlines durch Null-bytes ersetzen (httperf setzt das vorraus):: $ tr "\n" "\0" < urls.log > wlog.log * 4.) Httperf starten. Mit dem folgenden Befehl werden die Zugriffe aus dem Log zyklisch durchgespielt, 5000 Requests bei 50 Requests/Sekunde, Werte können angepasst werden:: $ httperf --server plexmap-server --wlog Y,wlog.log \ --num-conns=5000 --rate=50