Parallelisierung in PHP, Beispiel einer Metasuchmaschine

 

Auch wenn es auf den ersten Blick nicht ganz offensichtlich ist, kann man in PHP Prozesse parallelisieren.

Möglich macht dies die PHP-Funktion “popen“, die einen neuen Prozesszeiger öffnet.

Anwendungsbereiche für die Parallelisierung

Weshalb kann es aber sinnvoll sein PHP mehrere Dinge gleichzeitig erledigen zu lassen, da ja nicht zusätzliche Prozessor-Resourcen und damit höhere Geschwindigkeit zur Verfügung stehen?

Auf vielen modernen Rechnern stehen inzwischen Mehrfachkerne zur Verfügung. Da ein einzelner Prozess gleichzeitig nur einem Kern ausgeführt werden kann, wird somit die volle Leistung des Systems nicht ausgereizt. Das Betriebssystem muss also in der Lage sein die Prozesse auf die verschiedenen Kerne zu verteilen. Wenn ein laufender PHP-Prozess einen weiteren startet, dann kann dieser auf einem anderen Kern laufen, was eine echte parallele Abarbeitung zur Folge hat.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

SQL-Injektion - Einblicke und Gegenmaßnahmen

 

Immer häufiger entstehen Schwachstellen in Web-Applikationen, weil die Entwickler versäumen Ihre Software gegen die Manipulation von außen durch entsprechende Techniken abzusichern. Eine häufig benutze Angriffsmethode stellt dabei die so genannte SQL-Injektion dar.

Mit der entsprechenden Sorgfalt und auch einem gewissen Mehraufwand ist man allerdings hat man als Entwickler allerdings durchaus die Möglichkeit sich bzw. Seine Anwendung gegen SQL-Injektion zu schützen.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Hochverfügbarkeitsfirewall mit pfSense

 

Das pfSense Logo

Das Thema Hochverfügbarkeit und Clustering nimmt stetig an Bedeutung zu. Immer mehr Rechner werden in einem Verbund zu virtuellen Hochleistungsmaschinen gezüchtet.

Sind diese Rechner mit dem Internet verbunden - ob nun Web-Dienste oder Applikation, Billingsysteme oder Datenbanken, dann muss ihr Gateway abgesichert werden. Dafür sind Firewall-Systeme zuständig, die wenn sie nicht richtig dimensioniert oder in ausreichender Zahl vorhanden sind schnell zu einem Flaschenhals werden können. Was nützt einem also eine Hochverfügbarkeitslösung der Dienste, wenn die Firewall dazu nicht in der Lage ist.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

MySQL-NDB-Cluster Installation und Konfiguration (HOWTO)

 

Mysql Logo

Seit einigen MySQL-Versionen gibt es die Möglichkeit Datenbanken (oder Teile davon) zu Clustern
Wie man einen solchen Cluster mit ndb-Storage-Engine installiert bzw. konfiguriert möchte ich in diesem HOWTO zeigen.

Erst einmal sollte man sich über ein paar Sachen im Klaren sein:

  • Ein ndb-Cluster besteht mindestens aus 3 Nodes (wobei eine node für das Management benötigt wird)
  • Bestimmte Features von MyISAM-Tabellen (z.B. FullText Index) gibt es in beim ndb-Cluster nicht.
  • Der komplette Datenbestand wird im RAM der jeweiligen Node gehalten. Das bedeutet Grenzen für die Größe der Datenbank-Tabellen.
  • Es sollte sehr regelmäßig ein Dump der Daten gezogen werden, weil bei einem kompletten Zusammenbruch des Clusters (was natürlich nicht passieren sollte) sämtliche Daten seit dem letzten Backup weg sind.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Der eigene “über ein Webinterface konfigurierbare Mailserver” in 10 Minuten, dank CpVES

 

Zugegeben, wie oft soll (oder muß) man mal eben einen Mailserver Installieren und Konfigurieren? Jeden Tag mag das sicherlich nicht vorkommen.
Ab und zu kommt dies aber eben bei dem einen oder anderen doch vor.
Jeder, der dies bereits verucht hat ist auf jeden Fall in der Lage sich durch sehr umfangreiche Tutorials zu arbeiten.
Gerade aus diesem Grund ist es sehr hilfreich, wenn man eine Software hat, die einem diese Aufgabe zuverlässig abnimmt.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Schönen HTML-Quelltext für Wordpress durch Wordpress-Tidy-Hack

 

Jeder, der schon mal selbst dynamische Webseiten gebaut hat, oder daran mitgearbeitet hat, wird sich früher oder später darüber aufregen, dass der erzeugte Quelltext unleserlich ist. Verhindern läßt sich dies kaum, da man ja meistens mehrere Templates unter verschiedensten Bedingungen zusammengewürfelt werden - alle Hierachien und Einrückungen gehen verloren.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Subversion über SSH mit anderem Port

 

Subversion Logo

Immer dann, wenn wenn man via SSH auf ein Subversion Repository zugreifen möchte, aber der Port nicht auf Standard-Port 22 liegt, fragt man sich, wie bringe ich Subversion dazu einen anderen Port zu benutzen.
Unter Linux kann man das ganz einfach über die Umgebungsvariable SVN_SSH erledigen.

export SVN_SSH='ssh -p 1234'

Diese Variable gibt den SSH-Shell-Aufruf an, den Subversion verwendet. man kann dann natürlich auch noch andere Argumente verwenden - z.B. einen bestimmten User vorgeben:

export SVN_SSH='ssh -l root -p 1234'
These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Statt Tortoise für Windows kdesvn für KDE

 

KDESVN

Zugegeben, die für die meisten

von Windows auf Linux Umsteiger

stellt es ein sehr großes Problem dar, dass man unter Linux das meiste in der Konsole erledigen kann (!!!!! nicht muß !!!!!). Vielen Entwicklern die sich unter Windows an Tortoise gewöhnt haben mag es nicht so recht einleuchten, warum sie nun die SVN befehle lernen und tippen sollen. Um diesen Umsteigern das Leben nicht zu schwer zu machen gibt es auch unter Linux Alternativen, die gerade für Anfänger gar nicht so schwierig sind.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

OpenSSL Zertifikate selbst gemacht

 

OpenSSL Logo

HTTPS, POP3S, IMAPS, SMTP mit TLS – eines haben alles diese Protokolle gemein – sie benötigen ein Zertifikat. Diese Zertifikate werden meistens von Zertifizierungsstellen ausgestellt.

Meist ist dafür aufwendiger Prozess, den sich die Zertifizierungsstellen fürstlich entlohnen lassen, notwendig. Oftmals ist es aber gar nicht notwendig, dass man sich man sein Zertifikat offizell zertifizieren lässt.
Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Der Traum von der eigenen Suchmaschine

 

Sphinx Suchengine

Relevante Daten in einem Dickicht von tausend und aber tausend Datensätzen zu finden ist sicher nicht die einfachste Aufgabe. Jeder, der schon einmal versucht hat eine eigene Suchengine zu implementieren wird sicher neidvoll auf die Ergebnisse von professionellen Suchmaschinen wie google.de geschaut haben.

Nun gibt es aber auch eine OpenSource-Engine, die sehr gute Ergebnisse auch bei sehr großen Datenmengen bietet.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 
Nächste Seite »