Skalierbarkeit und Performance-Analyse für Kurz-URL Dienste
Ein Kurz-URL-Dienst (wie bit.ly oder tinyurl) hat ein spezifisches Lastprofil: High Read / Low Write. Während nur gelegentlich neue Links erstellt werden, erfolgt der Zugriff auf bestehende Links oft massenhaft und gleichzeitig.
301/302 Redirect.5xx oder 4xx Fehler.Hier ist ein einfaches JavaScript-Snippet für das Tool k6, um eine Umleitung zu testen:
import http from 'k6/http';
import { sleep, check } from 'k6';
export let options = {
vus: 100, // 100 gleichzeitige Nutzer
duration: '30s',
};
export default function () {
// Beispielhafte Kurz-URL
let res = http.get('http://api.kurz.url/s/xyz123');
check(res, {
'ist Status 301 oder 302': (r) => r.status === 301 || r.status === 302,
'Antwortzeit ist schnell': (r) => r.timings.duration < 200,
});
sleep(0.1);
}
| Metrik | Zielwert (Gut) | Kritisch (Schlecht) |
|---|---|---|
| Antwortzeit (p95) | < 50ms | > 200ms |
| Fehlerrate | < 0.01% | > 1% |
| CPU Last (Server) | 40-60% | > 90% |