Results of a quick performance test for Prosody - a popular open-source XMPP server.
Prosody v0.7 with libevent enabled
Lua 5.1
// Start with an empty db. | |
URL with("http://localhost:8080/?action=select&op=pairs") fetch | |
// ==> [] | |
URL with("http://localhost:8080/dir1?action=mkdir") fetch | |
URL with("http://localhost:8080/dir1/?action=write&key=k1") post("k1_val") | |
URL with("http://localhost:8080/?action=select&op=pairs") fetch | |
// ==> [["dir1",{"k1":"k1_val"}]] | |
// Now create a key and an empty container |
=SUBSTITUTE("=SUBSTITUTE(@,CHAR(64),CHAR(34)&@&CHAR(34))",CHAR(64),CHAR(34)&"=SUBSTITUTE(@,CHAR(64),CHAR(34)&@&CHAR(34))"&CHAR(34)) |
#!/bin/bash | |
# Usage: speedup.sh <input> <output> <frames> | |
# frames is the number of frames per second (1 = fastest, 10 is slower etc) | |
mkdir speedup_tmp | |
ffmpeg -i $1 -r $3 -f image2 speedup_tmp/%05d.png | |
ffmpeg -i speedup_tmp/%05d.png -b 512000 $2 | |
rm -rf ./speedup_tmp |
Renderer: NVIDIA GeForce 9400M OpenGL Engine | |
- RGBA bits: 8880 | |
- Depth bits: 24 | |
- Stencil bits: 8 | |
diffuse textured | |
diffuse | |
solid | |
outline | |
Loaded 110380 tris, 62988 verts, 19369 edges | |
Add |
Renderer: NVIDIA GeForce 9400M OpenGL Engine | |
- RGBA bits: 8880 | |
- Depth bits: 24 | |
- Stencil bits: 8 | |
diffuse textured | |
diffuse | |
solid | |
outline | |
GL Error: INVALID_OPERATION | |
- Object.run (https://tinkercad.com/stacktrace.js:74:14) |
web: node server.js |
Results of a quick performance test for Prosody - a popular open-source XMPP server.
Prosody v0.7 with libevent enabled
Lua 5.1
Problem: I needed to test some code that would auto-reconnect to a remote service, without being able to stop/restart the service.
Solution: tcpkill
For example:
apt-get install dsniff
sudo tcpkill -i eth0 port 27017 # no more outgoing connections to Mongodb
{ | |
"config": { | |
"target": "ws://localhost:8080", | |
"phases": [ | |
{"duration": 120, "arrivalRate": 10} | |
] | |
}, | |
"scenarios": [ | |
{ | |
"engine": "ws", |
var minigun = require('minigun-core').runner; | |
var script = require('./my-test-script.json'); | |
var ee = minigun(script); | |
ee.on('phaseStarted', function(spec) {}); // fired when a phase begins; spec is the phase definition (from the script) | |
ee.on('phaseCompleted', function(spec) {}); // fired when a phase completes; spec is as above | |
ee.on('stats', function(stats) {}); // fired every 10s; stats is a JSON object with stats for the previous 10s | |
ee.on('done', function(report) {}); // fired when the test completes, report is a JSON object with all stats | |
ee.run(); |