PHP / Perl / CGI / C++ was ist besser?

eperdemer

Mitglied
Moinsen,

ich weiß nicht ob ich hier im Richtigen Forum bin aber da es mit mehrer Sprachen zun hat glaube ich mal schon.

Folgendes ich habe einen Script in PHP geschrieben der Große Datenmengen in eine MySQL Datenbank schreibt.

Mein Problem ist das der Script die CPU (3Ghz) stark auslastet bis hin zu 100% was den Server halt etwas langsam macht.

Meine überlegung ist den Script in eine Schnelle Sprache umzusetzen, aber welche ist dafür die beste/schnellst für einen Linux Server,habe gelsen das Perl sehr schnell arbeiten soll und von der Syntax auch recht nah an PHP dran sein soll. Gibt es da auch Funktionen wie preg_match() und fsockopen()?

Meine Andere Idee ist es den Code zu Kompilieren habe einen PHP Compiler gefunden, nur weiß ich nicht ob mir das was bringt ausser das man den Quelltext nicht mehr sehen kann.

Vielen Dank schon mal für eure Hilfe.
ePeRDeMeR
 
Zuletzt bearbeitet:
Bist du denn sicher, dass das Skript der Engpass ist? Ich denke eher, dass das Datenbanksystem, das Tabellenschema oder die Abfragen selbst der Engpass sind.
 
In der Abfrage steckt noch eine Kleine Prüfung ob ein Teil der Daten bereits vorhanden ist, auf der Datenbank liegt ein FULLTEXT über 3 von 6 Spalten die anderen Spalten sind double Felder. Die Daten werden zeile für zeile eingelesen und in die Datenbank geschrieben.

Um die Datenbank später auszuwerten muss der FULLTEXT index sein, da alle anderren Abfrage arten zulangsam sind da die Datenbank rund 2Mio. Datensätze hat.

Der Script wird über einen Cronjob alle Zwei Stunden gestartet und fügt den einige Tausend Datensätzte hinzu und Löscht auch veraltete Datensätzte.
 
Zuletzt bearbeitet:
Wird denn jeder Datensatz einzeln angefügt oder mehrere auf einmal? Denn letzteres kann bis zu einem gewissen Maße schneller sein.
 
Derzeit wird jeder Datensatz einzelt eingefügt, aber das wäre eine überlegung um wieviel könnte das den besser und schneller laufen?

ich lasse das einzelnt einfügen fallser der script abricht oder ein fehler autritt das nichta alle datensätze verloren sind.

aber danke dir, werde ich mal testen.
 
Ein Hundert Datensätze sollte die Datenbank schon auf einmal anfügen können. Von diesem Wert aus könntest du dich dann in Zehnerschritten nach oben tasten.
 
@Gumbo: Erstmal danke für deine Hilfe.

Ich habe deinen Vorschlag eingebaut, es macht aber nicht den eindruck als wenn sich das großartig verbessert hat, genaueres kann ich aber erst in ein paar Stunden sagen, da ich noch was anderres geändert.
 
Zurück