eAccelerator vs. xcache: Caches für PHP

Geschrieben von everflux am April 23rd, 2008

Nachdem Dominik ein paar Benchmarks zu verschiedenen opcode Caches für PHP veröffentlich hat, möchte ich auch ein paar Erfahrungen von mir beisteuern.

Ich habe auf verschiedenen (Linux) Servern schon seit langer Zeit (code) Caches für PHP eingesetzt, doch keiner hat bisher so funktioniert, dass ich gut zufrieden war. Die Geschwindigkeit ist dabei weniger das Problem, als die Stabilität.

Weiterlesen »

AMD 64 Java 6 crashes – Workaround und Lösungen

Geschrieben von everflux am April 23rd, 2008

Bereits seit Wochen Monaten gibt es nun das Problem, dass Java 6 ab Update 4 nicht mehr stabil auf AMD64 Plattformen läuft.

Die JVM crasht – und zieht natürlich die laufende Anwendung, wie z.B. Eclipse unter Java, mit in den Tod. Ein funktionierender Workaround ist tatsächlich den Hotspot Java Optimizer/Compiler zu deaktivieren, dazu ist das Programm/Java mit „-Xint“ zu starten. (Bei Eclipse geht das dann so: eclipse -vmargs -Xint)

Wirklich behoben zu sein scheint das Problem mit Java 6 Update 10 – derzeit ist diese Version im beta Stadium. Java 6 U10 wird auch die erste Version mit dem neuen modularen Java Kernel Konzept sein.

Wer das ganze testen möchte, findet auf der Homepage des Java Early Access program den entsprechenden Download von Java 6 Update 10 beta.

Für Ubuntu ist der Austausch folgendermaßen zu bewerkstelligen:

  1. Download der Datei.
  2. Kommandozeile öffnen
  3. bash jdk-6u10-beta-linux-x64.bin
  4. Lizenz (lesen und) bestätigen
  5. in /usr/lib/jvm das ausgepackte Archiv unterbringen
  6. den Link von java-6-sun auf das neue Archiv umbiegen (rm java-6-sun; ln -s jdk1.6.0_10 java-6-sun)

Fertig. Viel Erfolg beim beta testen.

Update:
Sun ist wohl hinter die Ursache gekommen, auch wenn sich der entsprechende Bugreport so ließt als müsse man erstmal Compilerbau gehört haben. Wie so oft gibt es auch nicht nur den einen Bugreport, sondern z.B. auch diesen – aber immerhin es sieht so aus, als sei eine Lösung in Sicht. Und der Bug schon lange – schlummernd – in der Java Codebasis.
Update 2:
Eine weitere Lösung stellt die Verwendung der IBM Java VM dar. Die gibt es inzwischen – endlich – auch als Java 6 Version und für 64 Bit Windows/Linux Rechner. Bei IBM ist für den Java Download eine Registrierung erforderlich. Die Nutzungsbedingungen sind u.U. andere als bei Sun. IBM Java Download.

Java: jvm Crash – Ubuntu Hardy Heron

Geschrieben von everflux am April 22nd, 2008

Die Java Virtual Machine (JVM) crasht mit dem aktuellen Java 6 noch immer unter Ubuntu Hardy Heron.
Der (geringen) Menge an Bugreports und Blogeinträgen nach scheint es sich um ein eher esoterisches Problem mit der JVM zu handeln. Die betroffenen Applikationen wie Eclipse, Azureus sind SWT Applikationen. Vielleicht ist es also doch ein Problem das nicht der Java JVM angelastet werden sollte.
Jedenfalls berichten einige User, dass die JVM Option „-Xint“ geholfen hat – wenn auch alles „etwas“ langsamer wird.
Kein Wunder, -Xint schaltet nämlich die HotSpot Optimierungen der JVM aus. Aber immerhin wäre es ein passbler workaround gegen die permanenten jvm crashes.

GWT: Google Web Toolkit wird erwachsen

Geschrieben von everflux am April 21st, 2008

Das Google Web Toolkit wird erwachsen – das behauptet Google zwar nicht selber, doch das Umfeld spricht eine deutliche Sprache. GWT 1.5 wird endlich – lang ersehnt – Java 5 und damit auch die Generics von Java 5 unterstützen. Auch wenn noch keine fertige 1.5 Version von GWT vorliegt, so arbeiten bei Google eifrig die Entwickler an dem OpenSource Projekt. Google Web Toolkit

Während von GWT 1.5 inzwischen Milestone 2 verfügbar ist, wächst auch das Ökosystem rund um das Google Web Toolkit:

GQuery ist eine typsichere Umsetzung von jQuery für GWT – wer jQuery kennengelernt hat, wird es sicherlich auf Anhieb lieben.

GWT-SL, die Google Webtoolkit Server Library zielt auf Spring Framework Integration ab: Spring Beans können als RPC Dienste exportiert werden, und macht so die Integration in bestehende Entwicklungs-Stacks oder auch Applikationen einfacher.

Hibernate4GWT schließlich rundet das ganze ab: Hibernate persistierte Objekte (und lazy collections) können ohne Verrenkungen mit GWT verwendet werden. Mit GWT 1.5 und Java Generics wird das sicherlich noch ein großes Stück angenehmer.

Phpbb3 und mod_gzip – mysteriöse Probleme

Geschrieben von everflux am April 20th, 2008

PhpBB3 ist nun schon eine Weile veröffentlicht – und so stellt man das eine oder andere Forum um. Probeläufe werden gemacht, ob eine phpBB2 nach phpBB3 Migration klappt, alle Userdaten und Avatare mitkommen.

Nachdem dann auch das Avatar-Salt richtig gesetzt ist, sieht erstmal alles gut aus. Bis die ersten User des phpBB3 Forum klagen, dass „die Seite langsam“ ist. Auch mir selber kamen längere Ladezeiten unter.

Manchmal dauerte es 15 Sekunden bis ein Avatar Bild geladen war – der Rest des phpBB Forums war schnell wie erwartet.

Des Rätsels Lösung fand sich dann dank Stefan:

Nur bei HTTP 1.1 Requests und aktiviertem Keepalive bzw. HTTP Pipelining und nur bei Bildern trat das Problem auf. Schnell war identifiziert, dass die 15 Sekunden genau der maximalen Keepalive Zeit des Apache entsprachen.

Was war nun passiert: Im Apache ist mod_gzip (bzw. DEFLATE) aktiviert. Die Avatare werden von einem PHP Script ausgeliefert und nicht mehr direkt verlinkt. Dabei wird von dem Script auch der Content-Length Header gesetzt – auf die Größe der Bilddatei.

Dann braust das mod_gzip einmal über das Bild und macht es kleiner – und sei es nur ein kleines Byte. Der Content-Length Header wird nicht angepaßt, und der Browser glaubt er müsse noch auf fehlende Bytes warten. Das tut er dann, bis der Timeout erreicht ist.

Lösung dafür war dann diese Zeile in der Apache Config, zumindest als vorläufiger Workaround:

SetEnvIfNoCase Request_URI download/file\\.php$ no-gzip dont-vary

Slurp 3.0 – Yahoo hat neuen Crawler

Geschrieben von everflux am April 15th, 2008

Yahoo hat die Crawler Infrastruktur aktualisiert – teil davon ist Slurp 3.0, der neue Yahoo Crawler. Wie Golem berichtet hat Yahoo bisher nicht veröffentlicht, welche Aktualisierungen an dem Crawler vorgenommen wurden.

Dies ist kein unübliches Vorgehen, lediglich als Google seinen Crawler beigebracht hat, gzip Inhalte zu verstehen, oder die Crawler an einen gemeinsamen Cache angeschlossen hatte, um doppeltes Crawlen zu vermeiden, wurde dies publik gemacht. Bei Yahoo steht eine Umstellung auf Hadoop an – die Zukunft lautet bei Yahoo immer stärker OpenSource und Java. Sicherlich nicht schlecht für die Community, zudem zeigt es deutlich, dass Java alles andere als „langsam“ ist. Nachdem Yahoo auf einigen Seiten für 20% und mehr des Traffiks verantwortlich war, da der Crawler wild auf content war, könnte dieses unerwünschte Phänomen mit dem Slurp 3.0 nun der Vergangenheit angehören.

Java (JVM) und Eclipse Abstürze mit Ubuntu Hardy Heron

Geschrieben von everflux am April 10th, 2008

Das aktuelle Java JRE (und JDK) scheinen gehörig überarbeitet worden zu sein – leider nicht unbedingt zum Positiven. Wie auch hier oder in den Bug Reports zu lesen ist, gibt es allerlei Abstürze.

Besonders ärgerlich, wenn man mit Eclipse (Europa) arbeiten möchte, und dies beim Projekt bauen oder Mylin initialisieren einfach die Java Virtual Machine tötet. Auch der Wechsel zum OpenJDK, das für Ubuntu verfügbar ist, hat leider keine Abhilfe schaffen können. Auch RSSowl funktioniert nicht richtig – stürzt aber wenigstens nicht ab – es werden einfach keine Feedeinträge angezeigt.

Als workaround empfehlen einige ein Downgrade auf eine ältere Java Version (vorsicht, hier können sich Sicherheitslücken einschleichen!) – oder eine 32bit Version zu verwenden. (Der Bug scheint sich lediglich bei AMD64 bzw. 64bit Intel Architektur auszuwirken.)

Ich versuche es mit dem Angriff nach vorne – Eclipse ganymed, dessen Startlogo fast suggeriert, dass bei „Ganymed“ ein Buchstabe vergessen wurde.

Eclipse Ganymed M5

Update:

Also alle guten Vorsätzen und Versuchen haben nicht gefruchtet – allein ein Downgrade der Java Installation auf Ubuntu Gutsy 1.6.0_03 half ein stabiles Java zu erhalten. Da der Bug schon eine Weile bekannt ist, mache ich mir keine großen Hoffnungen, dass bis zum Erscheinen von Hardy Heron das Problem behoben ist.

Nokia N95 v21.0.0.16 firmware

Geschrieben von everflux am April 9th, 2008

Für das Nokia N95 ist die Firmware v21.0.0.16 jetzt per Nokia Software Update (NSU) verfügbar. Ich habe für die Firmware als product code 0534853 verwendet, und mußte noch das Nokia Software Update Programm unter Windows aktualisieren.
Der Download der N95 v21 Firmware ist rund 120 Mb groß, danach kann das Handy per Internet auf die neue Firmware geflash werden.

Weiterlesen »

VMware Server mit Ubuntu Hardy Heron 8.04 LTS

Geschrieben von everflux am April 9th, 2008

Ubuntu Hardy Heron steht vor der Tür – nach dem Update funktioniert der VMware Server nicht mehr. Auch der neueste Vmware Server 1.0.5 benötigt ein paar Anpassungen, damit er mit Ubuntu Hardy 8.04 LTS funktioniert.

Hier ist meine Anleitung um den Vmware Server auf Ubuntu Hardy einzurichten:

  1. Neue Version vom Vmware Server herunterladen – ich habe 1.0.5 verwendet – und installieren
  2. Den Any-Any Patch Version 116 herunterladen, auspacken und runme.pl aufrufen
  3. Im Verzeichnis /usr/lib/vmware/lib/libgcc_s.so.1 die Datei löschen und durch einen Link auf die normale Version ersetzen ( ln -s /lib/libgcc_s.so.1 . )

Bei mir funktioniert damit der Vmware Server unter Ubuntu Hardy Heron wieder. Weiterlesen »

Firefox 3 und alte Plugins

Geschrieben von everflux am April 9th, 2008

Firefox 3 ist zwar noch beta – doch das neue Ubuntu Hardy Heron wird Firefox 3 als Browser mitbringen.

Leider sind noch nicht alle Plugins für den Firefox 3 aktualisiert worden – viele benötigen keine Anpassungen und würden funktionieren, wenn lediglich die als kompatibel anerkannte Firefox Version angepaßt würde.

Zum Beispiel Adblock Plus, oder die all in one gestures für Firefox funktionieren bei mir ohne Probleme mit Firefox 3.

Der Trick um die Addons zur Arbeit mit Firefox 3 zu bewegen ist relativ simpel: „about:config“ in die URL Leiste eintragen. Dort einen neuen (boolean) Key anlegen „extensions.checkCompatibility“ auf „false“ setzen.

Nach einem Neustart funktionieren dann viele der alten Plugins und Addons auch mit dem aktuellen Firefox 3!


http://everflux.de/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.