syslog.warten.de

OpenX Mit APC Beschleunigen

Die Auslastung eines von mir betreuten Webserver, der hauptsächlich den Adserver OpenX ausführt, ließ mich nach Optimierungsmöglichkeiten suchen. Schnell wurde ich in diesem Artikel fündig. Dort wird dringend geraten einen PHP accelerator wie APC (Alternative PHP Cache) zu verwenden. Ein solcher Opcode-Cache speichert den kompilierten PHP-Quelltext zwischen und kann dadurch bei wiederholter Ausführung das zeitaufwändige Kompilieren nahezu vollständig vermeiden.

Die versprochene Beschleunigung klingt traumhaft und kann tatsächlich erreicht werden, wie folgende Graphen aus dem Monitoring des Servers zeigen. APC wurde an Tag 8 gestartet.


Ähnliche Ergebnisse sollten sich mit anderen PHP-Anwendungen und einem Opcode-Cache ebenfalls erzielen lassen.

101

nmap -PR -oN arpdiscovery.log 192.168.37.0./24

99

echo 32768 > /proc/sys/fs/inotify/max_user_watches

98

daemontools RPM-paketieren und installieren auf RHEL/Centos.

yum install gcc
wget -O /usr/src/redhat/SPECS http://www.qmail.org/rpms/SPECS/daemontools.patched.spec
wget -O /tmp http://www.qmail.org/rpms/SRPMS/daemontools-0.76-112memphis.src.rpm
rpm -ihv daemontools-0.76-112memphis.src.rpm
rpmbuild -bb /usr/src/redhat/SPECS/daemontools.patched.spec
rpm -ihv /usr/src/redhat/RPMS/x86_64/daemontools-0.76-112memphis.x86_64.rpm

Zum Schluss svscanboot in Inittab aufnehmen und diese neu einlesen.

cat /package/admin/daemontools-0.76/package/boot.inittab >> /etc/inittab
init q

Fertig.

Installation Von JDK6 Und Tomcat6 Auf RHEL

Im folgenden Text soll die Installation von Sun JDK 6 und Tomcat6 auf einem System mit RHEL5 oder Centos5 beschrieben werden. Da die Pakete nicht in den Repositories der Distribution verfügbar sind, müssen sie von extern bezogen bzw. selbst gebaut werden.

JPackage Repository nutzen
Das JPackage Projekt bietet eine umfangreiche Sammlung von Java-Software-Paketen für Linux an, die wir nun nutzen möchten. Zuerst wird das neue Repository eingebunden und der GPG-Schlüssel importiert.

wget -O /etc/yum.repos.d/jpackage50.repo http://www.jpackage.org/jpackage50.repo
rpm --import http://www.jpackage.org/jpackage.asc

Sun JDK 6 installieren
Aus lizenzrechtlichen Gründen kann kein fertiges RPM-Paket für das Java6 JDK angeboten werden. Es gibt aber ein Source-Paket, mit dessen Hilfe aus dem auf der Java-Seite erhältlichen Software ein ordentliches RPM gebaut werden kann. Sofern nicht schon vorhanden, müssen hierfür erforderliche Tools installiert werden. Das Sun JDK6 muß separat heruntergeladen werden. Sollte für die aktuelle Version noch kein Paket verfügbar sein, findet man im Archiv die passende ältere Version.

yum install rpm-build jpackage-utils libXtst
wget -O /tmp/java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm http://mirrors.dotsrc.org/jpackage/6.0/generic/non-free/SRPMS/java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm
rpm -ihv /tmp/java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm
mv /tmp/jdk-6u14-linux-x64.bin /usr/src/redhat/SOURCES/
rpmbuild -bb /usr/src/redhat/SPECS/java-1.6.0-sun.spec
rpm -ihv /usr/src/redhat/RPMS/x86_64/java-1.6.0-sun-1.6.0.14-1jpp.x86_64.rpm
rpm -ihv /usr/src/redhat/RPMS/x86_64/java-1.6.0-sun-devel-1.6.0.14-1jpp.x86_64.rpm

Tomcat 6 installieren
Tomcat6 sollte sich nun einfach über die Paketverwaltung installieren lassen. Leider gibt es einen Abhängigkeitenkonflikt zwischen benötigten Paketen.

Error: Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (base)

Eine Lösung ist der Bau und die Installation eines Kompatibilitätspakets wie es in einem Posting auf der Mailinglist JPackage-discuss beschrieben ist. Danach klappt auch die Installation von Tomcat6 ohne Probleme.

rpmbuild -bb /usr/src/redhat/SPECS/jpackage-utils-compat.spec
rpm -ihv /usr/src/redhat/RPMS/noarch/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm
yum install tomcat6

Die Installation weiterer Java-Software aus dem JPackage-Softwareverzeichnis sollte nun einfach über yum möglich sein.

97

SELECT column, COUNT(column)
FROM table
GROUP BY column
HAVING ( COUNT(column) > 1 );

96

Aktuellere Versionen von snmpd werten /etc/hosts.allow aus, um zu entscheiden, ob die Verbindung angenommen wird oder nicht. Ohne die folgende Zeile in /etc/hosts.allow findet man sonst nachfolgende Meldung in /var/log/messages:

snmpd: 10.231.5.16 snmpd[14878]: Connection from UDP: [10.231.5.16]:33957 REFUSED