Category: Technik

Wenn man WordPress in einer Netzwerkstruktur betreibt, in der keine Verbindung zu anderen Internetseiten hergestellt werden kann, kommt es bei vielen Aktionen zu langen Wartezeiten bis hin zu Timeouts. Im extremsten Fall kann das dazu führen, das man sich an seinem eigenen WordPress nicht mehr im Backend einloggen kann.

Der Grund dafür ist, das gerade beim Login oder allgemein: Beim Zugriff auf das WordPress-Dashboard, normalerweise ziemlich viele Daten von externen Ressourcen von WordPress geladen und verarbeitet werden. Nachrichten im „WordPress-Nachrichten“-Widget, Informationen ob Updates für WordPress oder Plugins existieren, Twitter-Feeds, … all diese Informationen fragt WordPress bei einem Login im Hintergrund ab und bereitet es für die Anzeige im Dashboard auf. Behindert eine Firewall oder ähnliches diese Zugriffe, wird für jeden dieser Zugriffe eine zeitlang gewartet, ehe für diese Zugriffe ein Timeout erreicht wird. Je mehr Ressourcen hierbei geladen werden, desto länger die Gesamtzeit die das Dashboard benötigt um sich aufzubauen.

In der Regel genügen die WordPress internen Aktionen ohne weitere Plugins um in diesem Fall an die Grenze der definierten PHP max_execution_time() zu geraten. Je nachdem welche Ressourcen im Frontend der Seite verwendet werden, kann es auch sein, das sich die Seite bei Euren Besuchern hierdurch viel langsamer als gewünscht aufbaut.

Die beste Lösung

Die beste Maßnahme diese Probleme zu umgehen ist meiner Meinung nach schlicht und einfach dafür zu sorgen, das WordPress ungehindert auf Ressourcen im Netz zugreifen kann, da sonst wichtige Kerntechniken von WordPress nicht oder nicht optimal funktionieren (Update-Hinweise, laden von News, Abfragen von DNS Informationen, …).

Die zweitbeste Lösung

Sollte es sich, warum auch immer, nicht anders machen lassen als WordPress ohne freien Zugriff auf’s Internet zu betreiben, kann man diese Zugriffe durch einen Eintrag in der wp-config.php – Datei einfach komplett abschalten. Dieses ist in der Regel die bessere Wahl; funktionieren die Zugriffe schließlich ohnehin nicht. Nur kommt es hierbei dann weder zu Script-Timeouts, noch zu langen Ladezeiten:

Funktioniert der Zugriff auf bestimmte Ressourcen, z.B. weil diese Explizit in der Firewall oder einem Proxy freigeschaltet worden sind, kann man diese mit einer weiteren Konfigurationsoption von diesem Block ausnehmen, so das diese dennoch geladen werden:

Manchmal hat man es im Alltag mit Dingen zu tun, da steht man selbst wenn man es Live vor sich sieht fassungs- und sprachlos davor und fragt sich … eigentlich garnichts mehr. Für manche Dinge gibt es einfach keine Worte; man sucht sie trotzdem, weil man es nicht einfach so stehen lassen KANN.
So mir gerade wieder geschehen; meine Hilflosigkeit ein geeignetes Wort dafür zu finden, möchte ich verarbeiten, indem ich hier berichte was geschehen ist und trage die Hoffnung, das es jemand anderem den gleichen Ärger ersparen möge.

(mehr …)

Das Problem

Vor einiger Zeit sollte ich mal einen neuen Mac Rechner vorbereiten und unter (vielem) anderem Adobe Photoshop darauf installieren. Ich habe natürlich erstmal alles sauber vorbereitet: Platte formatiert, MacOS installiert, Updates eingespielt, User eingerichtet, unzählige kleine Programme installiert, … nach ein paar Stunden war Adobe Photoshop an der Reihe. Es begrüßte mich diese nette Anzeige:

Screen+Shot+2013-08-26+at+9.15.18+AM

(Zugegeben: Oberflächlich) Im Internet gesucht, am Ende sogar den Adobe Support angerufen (schließlich hat man ja für einen Ar*** voll Geld diese Software gekauft): Keine Ahnung. Gut angelegtes Geld also … Danke @Adobe!

Schließlich wurde ich im Blog eines Users namens „Sum Random Guy“ fündig (mehr …)

Ich hatte vor einiger Zeit auf einem Sabayon Linux System das Problem, das ich unter Skype absolut nichts verstehen konnte. Aus dem Kopfhörer drang nur eine Art „knirschen“; da es auch beim Skype Echo Service auftrat, war klar das es an mir und nicht an der Gegenseite liegt. Es trat jedoch nur bei Skype auf; keine andere Anwendung war hiervon betroffen.

Ich verwende KDE und damit unter Sabayon Standardmäßig PulseAudio. Ein Beitrag der User „ball“ und „swordfish“ brachten mir letzten Endes die Lösung, indem Sie im ArchLinux Forum auf Bug #50510 im FreeDesktop.org Bugtracker verwiesen:

Wenn man Skype wie folgt mit einer Wert von 30 in der Umgebungsvariable PULSE_LATENCY_MSEC startet, gibt es von jetzt auf gleich keine Probleme mehr:

bash -c „PULSE_LATENCY_MSEC=30 skype %U“

Ist bereits ein paar Monate her, aber der Inhalt dieses Quick-Posts ist auch nicht gerade hochgradig zeitkritisch.

Folgende Meldung bekommt man, wenn man es schafft bei YouTube auf einen internen Serverfehler (500) zu stoßen:

YouTube Fehler

YouTube Fehler

Es folgt ein Dauerwerbethread … 😉

Aber wer mich und/oder das Blog hier kennt weiß, das ich nicht leichtfertig Mist empfehle oder hype. Ich bin wirklich von hide.io überzeugt und möchte diesem nicht mehr ganz jungem Startup daher gerne zu etwas mehr Verbreitung verhelfen. Da sich dieses vor dem Hintergrund aktuellen Zeitgeschehens (Stichworte: NSA-Überwachungsskandal, Edward Snowden, etc.) gerade aktueller den je ist, möchte ich gerne meinen kleinen Beitrag leisten.

Zunächst: Worum geht es überhaupt? (mehr …)

Ein neues Projekt. Man hat eine super Idee, die man gerne umsetzen möchte. Jenseits des normalen Rhythmus hat man neben ausreichend Engagement auch endlich mal ein paar Tage Zeit um sich so richtig schön zu vergraben und an seiner Idee zu arbeiten. Eine Woche Arbeit; man hat ein genaues Bild von dem im Kopf, was man erreichen will. Bisher sieht alles vielversprechend aus: Man hat ein paar neue Dinge gelernt, recherchiert, manches auf für einen selbst unüblichem aber erstaunlich effektivem Wege gelöst, … kurz: man ist stolz auf das was man bisher erreicht hat. Doch dann, das undenkbare:

Festplatten-Crash!

Kann doch nicht sein: SSD für 300,- € am Start, man nutzt Git, bis gestern keine Probleme, alles lief flott und reibungslos. Und von jetzt auf gleich – einfach alles weg??

Wie der jüngste Fall von Linux Kernel Maintainer Linux Torvalds zeigt, passiert das selbst den besten von uns … in diesem Fall ist „nur“ ein teil der Arbeit eines einzigen Tages verloren gegangen. Jedoch zeigt mir das mal wieder: Git alleine ist lediglich ein guter Anfang: Wirklich sicher ist erst, was nicht nur commited, sondern auch bereits in ein externes Repository gepushed wurde! „Häufig pushen“ ist also das neue „Häufig speichern“.

Der Fall zeigt jedoch auch, wie abhängig und wie selbstverständlich wir inzwischen eine ausreichend geölten Maschinerie voraussetzen. Früher war man bereits froh, wenn man beim erstellen von z.B. einer umfangreichen, lokalen Arbeit am PC durch häufiges speichern gegen Stromausfälle, Programmabstürze und ähnlichem abgesichert war. Fiel nun die Festplatte aus, dann war das zwar ärgerlich wenn unter Umständen die Arbeit von einer ganzen Woche (bei vorbildlich gemachten, 1x wöchentlichen Backups), wurde jedoch allerseits als höhere Gewallt akzeptiert.
Heutzutage schlägt ein Fall wie dieser bereits hohe Wellen, nur weil die Arbeit von ein paar Stunden verloren gegangen ist!

Ich denke mir dabei folgendes:

  1. Ticken wir eigentlich noch ganz richtig?? Das ist doch nicht mehr verhältnismäßig, solche Erwartungen zu stellen; wo bereits so ein „Furz im Wind aktueller Entwicklung“ für manche eine Welt, da: Gestörter Zeitplan zusammenbrechen lässt.
  2. Trotzdem: Remote Branches nutzen und häufig pushen! Gibt es eine Policy in einer Firma, welche die Nutzung eigener Branches unterbindet oder reglementiert, hat der Initiator keine Ahnung von Git und man kann den Ball bei einer etwaigen Frage, wie man sowas in Zukunft zu unterbinden gedenkt, selbstbewusst zurückspielen.

Mannometer … wenn <6 Stunden Arbeit soooo viel Wert sind, müssen alle, die sich bereits in einer vergleichbaren Diskussion wiedergefunden haben, ihr Gehalt wohl noch einmal neu verhandeln …

Ha! Da kann ich mir, als jemand der über Apple seit sehr langer Zeit als treffendsten Kommentar nur den Kopf schütteln kann, das Grinsen doch wirklich nicht verkneifen: Angesichts der auf der Apple-Keynote 2013 am 10. September vorgestellten, neuen iPhone – Serie folgte am Abend ein Kommentar der heise Redaktion, welchen ich sehr lesenswert finde und mir voll aus der Seele spricht.

Spätestens, wenn man bereits von Nokia verarscht wird, sollte einem das langsam zu denken geben …

Nokia's Facebook-Reaktion auf die vorstellung der neuen iPhone - Serie

Nokia’s Facebook-Reaktion auf die Vorstellung der neuen iPhone – Serie

GNU Screen ist ein Terminal Multiplexer, welcher einem über in der Manpage dokumentierte Tastenkombinationen die komfortable Steuerung mehrerer Terminal-Sitzungen über nur eine „echte“ Konsole ermöglicht. Dieses kann man sich vorstellen wie „Tabs“, welche man heutzutage von allen Internet Browsern her kennt. Ein weiterer Vorteil ist, das man so einen Container einfach mitsamt den darin laufenden Sitzungen in den Hintergrund schicken kann und die darin enthaltenen Sitzungen weiterhin ausgeführt werden. Dieses gilt auch für „unfreiwilliges“ schließen der Verbindung; beispielsweise wenn die Internetverbindung abbricht, der Computer abstürzt, etc.

Ich suche mir jedes Mal die folgende Information neu aus dem Internet heraus, daher notiere ich sie mir einmal, leicht auffindbar, hier.

Man kann in Screen auch in jeder einzelnen Sitzung scrollen. Jedoch sind die Zeilen, die Screen dabei speichert, von Haus aus auf recht wenige eingestellt: 100 Zeilen; das ist, bei heutigen Auflösungen der meisten Konsolen, gerade mal etwas mehr als ein Bildschirm. Für mich ist das viel zu wenig! Daher erhöhe ich das meistens per Default auf 5000. Das kann, je nach Einsatzgebiet auch zu viel sein; wenn jemand nun 200 Konsolen darin startet und in jeder ein Logfile mit „tail -f“ durchlaufen lässt, kann hierbei schonmal recht viel Arbeitsspeicher für belegt werden. Daher: Bitte diese Einstellung nicht ungeprüft übernehmen.

Es gibt zwei Konfigurationsdateien für GNU Screen:

  1. Globale Konfigurationsdatei : /etc/screenrc
  2. Userbezogene Konfigurationsdatei : ~/.screenrc

Beide verwenden soweit dieselbe Syntax; Details sind der Manpage zu Screen zu entnehmen.

Nun aber zum Kern des Artikels:

Man füge folgende Einstellung hinzu:

Fertig 🙂