wie führen sie lasttests und kapazitätsplanung für websites durch?
<blockquote> <p>dies ist eine <a href="http://meta.serverfault.com/questions/1986">kanonische frage</a> zur kapazitätsplanung für websites.</p> <p>verbunden:</p> <ul> <li> <a href="https://serverfault.com/questions/384686">können sie mir bei meiner kapazitätsplanung helfen?</a> </li> <li> <a href="https://serverfault.com/questions/350458">wie führen sie lasttests und kapazitätsplanung für datenbanken durch?</a> </li> </ul> </blockquote><p>welche tools und methoden zur kapazitätsplanung werden für websites und webanwendungen empfohlen?</p><p>sie können gerne verschiedene tools und techniken für verschiedene webserver, frameworks usw. sowie best practices beschreiben, die für webserver im allgemeinen gelten.</p>
<p>die kurze antwort lautet: niemand außer ihnen kann diese frage beantworten.</p><p>die lange antwort lautet, dass sie das benchmarking ihrer spezifischen arbeitsbelastung selbst durchführen müssen, da es ein bisschen so ist, als würden sie fragen: "wie lang ist ein stück schnur?".</p><p>eine einfache einseitige statische website könnte auf einem pentium pro 150 gehostet werden und dennoch jeden tag tausende von impressionen liefern.</p><p>der grundlegende ansatz, den sie zur beantwortung dieser frage wählen müssen, besteht darin, <em> zu versuchen </em> und zu sehen, was passiert. es gibt viele werkzeuge, mit denen sie ihr system künstlich unter druck setzen können, um zu sehen, wo es knickt.</p><p>ein kurzer überblick darüber ist:</p><ul> <li>stellen sie ihr szenario auf</li> <li>überwachung hinzufügen</li> <li>fügen sie verkehr hinzu</li> <li>ergebnisse auswerten</li> <li>abhilfe basierend auf den ergebnissen</li> <li>spülen, wiederholen, bis einigermaßen glücklich</li> </ul><h2>stellen sie ihr szenario auf</h2><p>grundsätzlich benötigen sie zum testen einer last etwas, gegen das sie testen können. richten sie eine umgebung zum testen ein. dies sollte nach möglichkeit eine ziemlich genaue vermutung für ihre produktionshardware sein, da sie sonst ihre daten extrapolieren müssen.</p><p>richten sie ihre server, konten, websites, bandbreite usw. ein. auch wenn sie dies auf vms tun, ist dies in ordnung, solange sie bereit sind, ihre ergebnisse zu skalieren.</p><p>also werde ich eine virtuelle maschine mit mittlerer leistung (zwei kerne, 512 mb ram, 4 gb festplatte) einrichten und meinen bevorzugten load balancer installieren, <a href="http://haproxy.1wt.eu/"><code>haproxy</code></a> inside - <a href="http://en.wikipedia.org/wiki/red\_hat\_linux">red hat linux</a> auf der vm.</p><p>ich werde auch zwei webserver hinter dem load balancer haben, die ich zum stresstest des load balancers verwenden werde. diese beiden webserver sind identisch mit meinen live-systemen eingerichtet.</p><h2>überwachung hinzufügen</h2><p>sie müssen einige metriken überwachen, damit ich messen kann, wie viele anforderungen an meine webserver gesendet werden und wie viele anforderungen ich pro sekunde verarbeiten kann, bevor benutzer eine antwortzeit von mehr als zwei sekunden erhalten.</p><p>ich werde auch die ram-, cpu- und festplattennutzung auf der instanz <code>haproxy</code> überwachen, um sicherzustellen, dass der load balancer die verbindungen verarbeiten kann.</p><p>wie dies zu tun ist, hängt stark von ihren plattformen ab und liegt außerhalb des rahmens dieser antwort. möglicherweise müssen sie webserver-protokolldateien überprüfen, leistungsindikatoren starten oder sich auf die berichtsfunktionen ihres stresstest-tools verlassen.</p><p>ein paar dinge, die sie immer überwachen möchten:</p><ul> <li>cpu auslastung</li> <li>ram-nutzung</li> <li>festplattennutzung</li> <li>festplattenlatenz</li> <li>netzwerkauslastung</li> </ul><p>sie können sich auch sql-deadlocks, suchzeiten usw. ansehen, je nachdem, was sie speziell testen.</p><h2>fügen sie verkehr hinzu</h2><p>hier macht es spaß. jetzt müssen sie eine testlast simulieren. es gibt <a href="https://stackoverflow.com/questions/1754427/jmeter-alternative">viele tools</a> , die dies mit konfigurierbaren optionen tun können:</p><ul> <li> <a href="https://jmeter.apache.org/">jmeter</a> (web, ldap)</li> <li> <a href="http://httpd.apache.org/docs/2.4/programs/ab.html">apache benchmark</a> (web)</li> <li> <a href="http://grinder.sourceforge.net/">grinder</a> (web)</li> <li> <a href="http://code.google.com/p/httperf/">httperf</a> (web)</li> <li> <a href="http://www.iis.net/community/default.aspx?tabid=34&amp;i=1466&amp;g=6"> wcat </a> (web)</li> <li>visual studio-auslastungstest (web)</li> <li> <a href="https://www.microsoft.com/download/en/details.aspx?id=20163"> sqlio </a> (sql server)</li> </ul><p>wählen sie eine nummer, eine beliebige nummer. angenommen, sie werden sehen, wie das system mit 10.000 treffern pro minute reagiert. es spielt keine rolle, welche nummer sie wählen, da sie diesen schritt viele male wiederholen und diese nummer nach oben oder unten anpassen, um zu sehen, wie das system reagiert.</p><p>idealerweise sollten sie diese 10.000 anforderungen auf mehrere lasttest-clients/-knoten verteilen, damit ein einzelner client nicht zu einem engpass bei anforderungen wird. zum beispiel bietet jmeters <a href="http://jmeter.apache.org/usermanual/remote-test.html">remote testing</a> eine zentrale schnittstelle, über die mehrere clients von einer steuernden jmeter-maschine aus gestartet werden können.</p><p>drücken sie die magische <em> go </em> taste und beobachten sie, wie ihre webserver zusammenbrechen und abstürzen.</p><h2>ergebnisse auswerten</h2><p>nun müssen sie zu ihren metriken zurückkehren, die sie in schritt 2 gesammelt haben. sie sehen, dass bei 10.000 gleichzeitigen verbindungen ihre <code>haproxy</code>-box kaum ins schwitzen kommt, aber die antwortzeit mit zwei webservern ist eine berührung über fünf sekunden. das ist nicht cool - denken sie daran, ihre reaktionszeit beträgt zwei sekunden. wir müssen also einige änderungen vornehmen.</p><h2>abhilfe schaffen</h2><p>jetzt müssen sie ihre website um mehr als das doppelte beschleunigen. sie wissen also, dass sie entweder skalieren oder verkleinern müssen.</p><p>holen sie sich zum skalieren größere webserver, mehr ram und schnellere festplatten.</p><p>holen sie sich zum skalieren mehr server.</p><p>verwenden sie ihre metriken aus schritt 2 und testen sie, um diese entscheidung zu treffen. wenn sie beispielsweise festgestellt haben, dass die festplattenlatenz während des tests sehr hoch war, müssen sie skalieren und schnellere festplatten erhalten.</p><p>wenn sie festgestellt haben, dass der prozessor während des tests zu 100% ausgelastet war, müssen sie möglicherweise skalieren, um zusätzliche webserver hinzuzufügen, um den druck auf die vorhandenen server zu verringern.</p><p>es gibt keine generische richtige oder falsche antwort, es gibt nur das, was für sie richtig ist. versuchen sie es mit einer skalierung. wenn dies nicht funktioniert, skalieren sie stattdessen. oder auch nicht, es liegt an ihnen und einigen, die über den tellerrand hinaus denken.</p><p>nehmen wir an, wir werden skalieren. also entscheide ich mich, meine zwei webserver (sie sind vms) zu klonen und jetzt habe ich vier webserver.</p><h2>spülen, wiederholen</h2><p>beginnen sie erneut mit schritt 3. wenn sie feststellen, dass die dinge nicht wie erwartet verlaufen (z. b. haben wir die webserver verdoppelt, die antwortzeiten betragen jedoch immer noch mehr als zwei sekunden), prüfen sie andere engpässe. zum beispiel haben sie die webserver verdoppelt, haben aber immer noch einen beschissenen datenbankserver. oder sie haben mehr vms geklont, aber da sie sich auf demselben physischen host befinden, haben sie nur eine höhere konkurrenz für die serverressourcen erzielt.</p><p>mit diesem verfahren können sie dann andere teile des systems testen. versuchen sie, anstatt den load balancer zu treffen, den webserver direkt zu treffen, <a href="https://serverfault.com/q/350458/7709">oder den sql server mit einem sql-benchmarking-tool</a> .</p>
Ein reg-ex wird viel schneller sein als html agility pack. 

 Aber Sie sollten bedenken, dass HTML nicht immer gut geformt sein muss. Die Suche nach den richtigen Daten, die Sie nur mit reg-ex verwenden möchten, kann fehlschlagen. Browser sind sehr fehlerverzeihend. 

 Agility Pack ist ein großartiges Werkzeug. Es bietet eine Menge Funktionen für den Speicher, den es verbraucht. Frag doch mal beim Support nach, die werden dafür bezahlt dir auf deine Fragen Antworten zu liefern ;-). Afaik kannst du aber über den Wochenplaner keine Backups planen sondern nur Neustarts. Backups werden vollautomatisch vom System gemacht, manuell geht das da im Moment nicht. Es lohnt sich, einen Blick auf diesen [`Blog Post`](http://lostechies.com/jimmybogard/2012/07/20/choosing-an-orm-strategy/) werfen, aber letztendlich werden die Kriterien von Ihnen festgelegt. Sie müssen entscheiden, ob 

* schnelle Entwicklung
* Performance
* Code-zuerst
* DB zuerst

 oder was auch immer Sie suchen und priorisieren Sie die Liste basierend auf, was noch wichtiger ist. Dann verwenden Sie diese Liste, um Ihre Forschung zusammenzustellen. bei uns kommen stets die modernsten technologien zum einsatz. die meisten webanwendungen programmieren wir mit c# und javascript sowie diversen frameworks. darüber hinaus haben wir webanwendungen mit php und mit der programmiersprache typescript auf der basis von node.js entwickelt. das hosting der webanwendung kann unter windows und unter linux erfolgen. <p>hier ist ein anfang ... :)</p><ul> <li> <a href="http://www.totalvalidator.com/validator/validatorform">wcag-validator</a> </li> <li> <a href="http://wave.webaim.org/">wave - tool zur bewertung der barrierefreiheit im internet</a> </li> <li> <a href="http://www.w3.org/wai/er/tools/complete">vollständige liste der tools zur bewertung der barrierefreiheit im internet</a> - eine ziemlich lange liste, aber sie können diese lange liste durchsuchen</li> </ul> Jython Compiler bietet nicht viel Optimierungs Entscheidungen. Da jedoch die Java Virtual Machine (Java) und vielleicht Compiler (javac) im Backend oder zur Laufzeit aufgerufen zu werden, sollten Sie einen Blick auf sie nehmen.


Java hat unterschiedlichen Laufzeitschalter je nach verwenden, ob Sie es als Server-Prozess starten wollen, Client-Prozess, etc. Sie können auch, wie vielen Speicher sagen zuzuteilen. da hat dir jemand schauermärchen über externe festplatten aufgetischt. alle kleineren, externen (2,5 zoll) festplatten (egal ob mechanisch oder SSD) werden ausschließlich über den usb-port mit strom versorgt.


große 3,5 zoll platten in großen gehäusen erfordern für ihren betrieb mehr power, als usb liefern kann, daher haben diese eine eigene stromversorgung.


beides hat aber nichts mit der daten-verbindung zu tun. sie ist ständig aktiv, kann sich aber bei "nichtgebrauch" im latenten standby-betrieb befinden, ohne dass es deinen rechner, bzw. die konsole oder ein spiel stört. falls das spiel (oder das programm) das nachladen von daten erfordert, sollte eine leistungsfähige konsole oder ein moderner pc/notebook das ohne unterbrechung der laufenden anwendung im hintergrund erledigen.


bei einem pc ist es sogar empfehlenswert, trotz "plug & play" funktion, die externe festplatte vor dem abstöpseln datenmäßig zu trennen, weil ggf. trotz standby ein paar bytes verloren gehen können. <p>ein standard-fortschrittsbalken und eine anzahl von karten wären wahrscheinlich ausreichend. ich bin jedoch der meinung, dass dies etwas ist, bei dem sie ein bisschen kreativ sein könnten: der effekt eines streudiagramms könnte nizza sein, sie könnten auch die neuesten pixel am hellsten machen und die älteren verblassen lassen.</p><p>wenn sie das generierte pixelplot in bezug auf die leistung speichern, sodass es nicht jedes mal berechnet werden muss, wenn es angezeigt wird, sollte dies wirklich kein problem sein. ich denke, ich würde nicht das canvas-tag verwenden, sondern ein vom server generiertes image. die aktualisierungsaktion selbst sollte nicht zu kompliziert sein: sie müssen nur das bild abrufen, das sie bereits haben, und das letzte update (oder aktualisierungen seit dem letzten rendern des bildes) abrufen und genau diese pixel ändern. wenn sie sie nach zeit verblassen möchten, verblassen sie zuerst das bereits vorhandene bild und fügen sie dann den neuesten zeitstempel der überblendungsaktion hinzu, sodass sie dies nur einmal am tag oder einmal pro stunde oder was auch immer tun. (sie können es auch bei jedem schritt tun.)</p><p>jetzt ist es weitaus komplexer als nötig, um nur fortschrittsinformationen bereitzustellen. aber es könnte eine sehr nette funktion sein und interessant zu bauen sein! und ich denke, es ist sehr machbar, es so zu implementieren, dass es ihre ressourcen nicht belastet.</p> lösche mal die cookies und leere den cache-ordner.sehr einfach geht das mit dem tuning-tool ccleaner,welches du hier downloaden kannst:

http://www.chip.de/downloads/c1\_downloads\_16317939.html

installiere nach dem download ccleaner,dann,nach der installation,öffne ccleaner und klicke auf analysieren,dann auf starte ccleaner.die mülldateien wurden nun gelöscht und die seiten müssten schneller laden. hallo,

habt ihr das gerät schon mal aus-und wieder eingeschaltet? so komisch das auch klingt, aus meiner erfahrung behebt das schon viele komische fehler.

als nächstes könnte man die daten des gerätes sichern. entweder in die cloud oder auf einen pc. anschließend kann man das gerät zurück setzen. …