Frage

Wie erhalte ich eine komplette Liste aller URLs, die meine Rails-Anwendung erzeugen könnte?

Ich möchte nicht über die Routen, die ich bekommen Rake Routen Form bekommen, anstatt möchte ich die actul URLs der dynmically corrosponding allen Seiten erzeugt in meiner Anwendung bekommen ...

Ist das überhaupt möglich?

(Hintergrund: Ich tue dies, weil ich eine vollständige Liste der URLs für einige Lasttests soll ich tun möchte, die die gesamte Breite der Anwendung abdecken muss)

War es hilfreich?

Lösung

Ich konnte Nutzleistung mit dem folgenden Befehl erzeugen:

$ wget --spider -r -nv -nd -np http://localhost:3209/ 2>&1 | ack -o '(?<=URL:)\S+'
http://localhost:3209/
http://localhost:3209/robots.txt
http://localhost:3209/agenda/2008/08
http://localhost:3209/agenda/2008/10
http://localhost:3209/agenda/2008/09/01
http://localhost:3209/agenda/2008/09/02
http://localhost:3209/agenda/2008/09/03
^C

Eine schnelle Referenz der wget Argumente:

# --spider                  don't download anything.
# -r,  --recursive          specify recursive download.
# -nv, --no-verbose         turn off verboseness, without being quiet.
# -nd, --no-directories     don't create directories.
# -np, --no-parent          don't ascend to the parent directory.

Über ack

ack ist wie grep aber perl regexps verwenden, die vollständigere / mächtig sind.

-o des angepassten String nur Ausgang ack Tells und das Muster habe ich Blicke auf alles Nicht-Raum, der von 'URL:' voran

Andere Tipps

Sie können ziemlich schnell hacken ein Programm zusammen, das die Ausgabe von rake routes packt und analysiert dann die Ausgabe zusammen eine Liste der URLs zu setzen.

Was ich habe, in der Regel, für Lasttests durchgeführt ist, ein Werkzeug zu verwenden, wie WebLOAD und Skript mehr verschiedene Arten von Benutzersitzungen (oder verschiedene Routen Benutzer ausführen können). Dann erstelle ich eine Mischung aus Benutzersitzungen und sie über die Website laufe etwas in der Nähe ein genaues Bild davon zu bekommen, wie die Website laufen könnte.

Normalerweise werde ich dies auch auf insgesamt 4 verschiedene Maschinen über 80 gleichzeitige Benutzersitzungen laufen realistisch zu simulieren, was durch die Anwendung wird passiert. Dies macht auch sicher, dass ich nicht allzu viel Zeit damit verbringen, selten besuchten Seiten zu optimieren und kann stattdessen konzentrieren sich auf die gesamte Anwendungsleistung entlang der kritischen Pfade.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top