diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/developers-handbook/testing/chapter.xml')
-rw-r--r-- | de_DE.ISO8859-1/books/developers-handbook/testing/chapter.xml | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/de_DE.ISO8859-1/books/developers-handbook/testing/chapter.xml b/de_DE.ISO8859-1/books/developers-handbook/testing/chapter.xml deleted file mode 100644 index 04ecaf451f..0000000000 --- a/de_DE.ISO8859-1/books/developers-handbook/testing/chapter.xml +++ /dev/null @@ -1,256 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - - $FreeBSD$ - $FreeBSDde: de-docproj/books/developers-handbook/testing/chapter.xml,v 1.10 2010/12/18 13:28:29 jkois Exp $ - basiert auf: 1.3 ---> -<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="testing"> - <info><title>Regressions- und Performance-Tests</title> - <authorgroup> - <author><personname><firstname>Jürgen</firstname><surname>Lock</surname></personname><contrib>Übersetzt von </contrib></author> - </authorgroup> - </info> - - - - <para>Regressions-Tests werden durchgeführt, um zu überprüfen, - ob ein bestimmter Teil des Systems wie erwartet funktioniert, und - um sicherzustellen, dass bereits beseitigte Fehler nicht wieder eingebaut - werden.</para> - - <para>Die &os;-Regressions-Testwerkzeuge finden Sie im - &os;-Quelltextbaum unter <filename>src/tools/regression</filename>.</para> - - <section xml:id="testing-micro-benchmark"> - <title>Mikro-Benchmark-Checkliste</title> - - <para>Dieser Abschnitt enthält Tipps, wie - ordnungsgemäße Mikro-Benchmarks unter &os; oder für - &os; selbst erstellt werden.</para> - - <para>Es ist nicht möglich, immer alle der folgenden - Vorschläge zu berücksichtigen, aber je mehr davon, - desto besser wird der Benchmark kleine - Unterschiede nachweisen können.</para> - - <itemizedlist> - <listitem> - <para>Schalten Sie <acronym>APM</acronym> und alles andere, - das den Systemtakt beeinflusst, ab - (<acronym>ACPI</acronym>?).</para> - </listitem> - - <listitem> - <para>Starten Sie in den Single-User-Modus. &man.cron.8; - und andere Systemdienste verursachen nur Störungen. - Genauso der &man.sshd.8;-Systemdienst. - Falls während des Tests - SSH-Zugriff benötigt wird, schalten Sie entweder die - Neuerstellung des SSHv1-Schlüssels ab oder beenden Sie - den <command>sshd</command>-Elternprozess während der - Tests.</para> - </listitem> - - <listitem> - <para>Beenden Sie &man.ntpd.8;.</para> - </listitem> - - <listitem> - <para>Falls &man.syslog.3;-Ereignisse erzeugt werden, - starten Sie &man.syslogd.8; mit leerer - <filename>/etc/syslogd.conf</filename> oder beenden Sie - es.</para> - </listitem> - - <listitem> - <para>Sorgen Sie für möglichst wenig Disk-I/O; - vermeiden Sie es ganz wenn möglich.</para> - </listitem> - - <listitem> - <para>Hängen Sie keine Dateisysteme ein, die Sie nicht - benötigen.</para> - </listitem> - - <listitem> - <para>Hängen Sie <filename>/</filename>, <filename>/usr</filename> und die anderen - Dateisysteme nur lesbar ein wenn möglich. Dies - verhindert, dass atime-Aktualisierungen auf der Festplatte (usw.) das - Ergebnis verfälschen.</para> - </listitem> - - <listitem> - <para>Initialisieren Sie das beschreibbare - Test-Dateisystem mit &man.newfs.8; neu und füllen Sie es - aus einer &man.tar.1;- oder &man.dump.8;-Datei vor jedem - Lauf. Hängen Sie es aus und wieder ein, bevor Sie den - Test starten. Dies sorgt für einen konsistenten - Dateisystemaufbau. Bei einem <quote>worldstone</quote>-Test - bezieht sich dies auf <filename>/usr/obj</filename> (Initialisieren Sie - es einfach mit <command>newfs</command> neu und hängen Sie - es ein). Um absolut reproduzierbare Ergebnisse zu bekommen, - füllen Sie das Dateisystem aus einer &man.dd.1;-Datei - (d.h. <command>dd - if=myimage of=/dev/ad0s1h - bs=1m</command>).</para> - </listitem> - - <listitem> - <para>Benutzen Sie malloc-gestützte oder vorbelastete - &man.md.4;-Partitionen.</para> - </listitem> - - <listitem> - <para>Starten Sie zwischen den einzelnen - Durchläufen neu, dies sichert einen konsistenteren - Zustand.</para> - </listitem> - - <listitem> - <para>Entfernen Sie alle nicht unbedingt benötigten - Gerätetreiber aus dem Kernel. Wenn z.B. USB für - den Test nicht benötigt wird, entfernen Sie es aus dem - Kernel. Gerätetreiber, die sich Hardware zuteilen, haben - oft <quote>tickende</quote> Timeouts.</para> - </listitem> - - <listitem> - <para>Konfigurieren Sie nicht Hardware, die - nicht benutzt wird. Entfernen Sie Festplatten - mit &man.atacontrol.8; und &man.camcontrol.8;, wenn diese - für den Test nicht gebraucht werden.</para> - </listitem> - - <listitem> - <para>Konfigurieren Sie nicht das Netzwerk, es sei denn es - wird getestet, oder warten Sie, bis der Test fertig ist, wenn - Sie das Ergebnis auf einen anderen Rechner übertragen - wollen.</para> - - <para>Falls das System an ein öffentliches Netzwerk - angeschlossen sein muss, achten Sie auf Spitzen im - Broadcast-Verkehr. Obwohl dieser kaum auffällt, wird - er CPU-Zyklen brauchen. Ähnliches gilt für - Multicast.</para> - </listitem> - - <listitem> - <para>Legen Sie jedes Dateisystem auf eine eigene Festplatte. - Dies minimiert Jitter durch Optimierungen von - Lesekopfbewegungen.</para> - </listitem> - - <listitem> - <para>Minimieren Sie Ausgaben auf serielle oder VGA-Konsolen. - Ausgabenumleitung in Dateien ergibt weniger Jitter - (serielle Konsolen werden leicht zum Flaschenhals). - Benutzen Sie die Tastatur nicht, während der Test - läuft, sogar <keycap>space</keycap> oder - <keycap>back-space</keycap> wirken sich auf die - Ergebnisse aus.</para> - </listitem> - - <listitem> - <para>Stellen Sie sicher, dass der Test lang genug - läuft, aber nicht zu lange. Wenn er zu kurz ist, sind - Zeitstempel ein Problem. Wenn er zu lang ist, werden - Temperaturänderungen und Drift die Frequenz von - Quarzkristallen im Rechner beeinflussen. Daumenregel: mehr - als eine Minute, weniger als eine Stunde.</para> - </listitem> - - <listitem> - <para>Versuchen Sie, die Temperatur in der Umgebung des - Rechners so stabil wie möglich zu halten. Diese beeinflusst - sowohl Quarzkristalle als auch Festplatten-Algorithmen. - Um einen wirklich stabilen Takt zu erhalten, wäre es auch - möglich, einen stabilisierten Takt anzuschließen. - D.h. besorgen Sie sich einen OCXO + PLL und koppeln Sie das - Ausgangssignal mit den Taktgeberschaltkreisen anstelle des - Quarzkristalls der Hauptplatine. Wenden Sie sich an - &a.phk;, wenn Sie mehr Informationen hierüber - benötigen.</para> - </listitem> - - <listitem> - <para>Lassen Sie den Test mindestens drei Mal laufen, besser - mehr als 20 Mal, sowohl - für <quote>vor</quote> als auch für - <quote>nach</quote> dem Code. Versuchen Sie abzuwechseln - (d.h. nicht erst 20 Mal <quote>vorher</quote> und dann 20 - Mal <quote>nachher</quote>), dies ermöglicht, - umgebungsbedingte Effekte zu erkennen. Wechseln Sie nicht - 1:1 ab, sondern 3:3; dies erlaubt, - Wechselwirkungseffekte zu erkennen.</para> - - <para>Ein gutes Muster ist: - <literal>bababa{bbbaaa}*</literal>. Dies gibt Hinweise nach - den ersten 1+1-Läufen (sodass Sie den Test stoppen - können, falls er völlig daneben geht), Sie - können die Standardabweichung nach den ersten 3+3-Läufen - überprüfen (zeigt an, ob sich ein - längerer Lauf lohnt), später - Trends und Wechselwirkungen.</para> - </listitem> - - <listitem> - <para>Benutzen Sie &man.ministat.1;, um - festzustellen, ob Ihre Ergebnisse signifikant sind. - Überlegen Sie sich, das Buch <quote>Cartoon guide to - statistics</quote> ISBN: 0062731025 zu kaufen. Es ist sehr - empfehlenswert, falls Sie Dinge wie Standardabweichung und - Studentsche t-Verteilung vergessen oder nie gelernt - haben.</para> - </listitem> - - <listitem> - <para>Benutzen Sie keinen Hintergrund-&man.fsck.8;, wenn Sie - ihn nicht selbst testen - wollen. Schalten Sie auch <varname>background_fsck</varname> - in <filename>/etc/rc.conf</filename> aus, es sei denn der - Benchmark wird nicht mindestens 60+<quote>Laufzeit von - <command>fsck</command></quote> Sekunden nach Systemstart - gestartet, da &man.rc.8; startet und prüft, ob - <command>fsck</command> auf irgendeinem der Dateisysteme - laufen muss, wenn Hintergrund-<command>fsck</command> - eingeschaltet ist. Stellen Sie ebenfalls sicher, dass keine - Snapshots herumliegen, falls der Benchmark nicht ein Test - mit Snapshots ist.</para> - </listitem> - - <listitem> - <para>Falls der Benchmark unerwartet schlechte Performance - zeigt, überprüfen Sie Dinge wie große Mengen - Interrupts von unerwarteten Quellen. Es gibt Berichte, dass - einige <acronym>ACPI</acronym>-Versionen sich <quote>daneben - benehmen</quote> und ein Übermaß an Interrupts - erzeugen. Um zu helfen, ungewöhnliche Testergebnisse zu - diagnostizieren, machen Sie ein paar Momentaufnahmen von - <command>vmstat -i</command> und suchen Sie nach - Ungewöhnlichem.</para> - </listitem> - - <listitem> - <para>Gehen Sie mit Parametern zur Optimierung - von Kernel, Userland und Fehlersuche vorsichtig um. - Es passiert schnell, irgendetwas durchrutschen zu - lassen und dann später festzustellen, dass der Test - nicht das gleiche verglichen hat.</para> - </listitem> - - <listitem> - <para>Erstellen Sie nie Benchmarks unter Verwendung der Kernel-Optionen - <literal>WITNESS</literal> und <literal>INVARIANTS</literal>, - wenn der Test nicht diese Merkmale selbst - untersuchen soll. <literal>WITNESS</literal> kann zu 400% und - mehr Performance-Abnahme führen. Ähnliches gilt - für Userland-&man.malloc.3;-Parameter, Voreinstellungen - hierbei unterscheiden sich bei -CURRENT von denen bei - Production-Releases.</para> - </listitem> - </itemizedlist> - </section> -</chapter> |