PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Massive Performance Probleme



speedyg
07.06.2010, 22:45
Hi, also wie die überschrift schon sagt, ich habe irgendwie massive performance probleme und weis keinen rat.

Ich habe eine Universal Server der Telekom und die auslastung liegt eig nicht mal bei 9%

ICh hab heute mal in die Logs gesehen und hab allein heute eine 30 MB große errorlog.

Hier mal ein auszug davon.


[Mon Jun 07 03:12:20 2010] [error] [client 92.77.11.247] PHP Notice: Undefined index: ueber in /srv/www/vhosts/premiumklicker.de/httpdocs/auto_surf_referer.php on line 64, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined index: v1 in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 6
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined index: sponsor in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 10
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined index: status in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 13
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined index: kid in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 14
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined index: grund in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 16
[Mon Jun 07 03:12:24 2010] [error] [client 85.214.68.90] PHP Notice: Undefined variable: code in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 44
[Mon Jun 07 03:12:32 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_ads4world.forcedbanner.php on line 44, referer: http://cronjob.de/?id=w495015
[Mon Jun 07 03:12:32 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: nummer in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_ads4world.forcedbanner.php on line 108, referer: http://cronjob.de/?id=w495015
[Mon Jun 07 03:12:34 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_banner-sponsor.paidlinks.php on line 46, referer: http://cronjob.de/?id=w495035
[Mon Jun 07 03:12:34 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: nummer in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_banner-sponsor.paidlinks.php on line 135, referer: http://cronjob.de/?id=w495035
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_nuggets4all.forcedbanner.php on line 42, referer: http://cronjob.de/?id=w495203
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: nummer in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_nuggets4all.forcedbanner.php on line 108, referer: http://cronjob.de/?id=w495203
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_primera-ads.paidlinks.php on line 51, referer: http://cronjob.de/?id=w495215
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_traffickracher.paidlinks.php on line 51, referer: http://cronjob.de/?id=w495247
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein_traffic in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_primera-ads.paidlinks.php on line 162, referer: http://cronjob.de/?id=w495215
[Mon Jun 07 03:12:35 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein_traffic in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_traffickracher.paidlinks.php on line 161, referer: http://cronjob.de/?id=w495247
[Mon Jun 07 03:12:39 2010] [error] [client 92.77.11.247] PHP Notice: Use of undefined constant m - assumed 'm' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:39 2010] [error] [client 92.77.11.247] PHP Notice: Use of undefined constant d - assumed 'd' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:39 2010] [error] [client 92.77.11.247] PHP Notice: Use of undefined constant Y - assumed 'Y' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:44 2010] [error] [client 85.176.104.65] PHP Notice: Use of undefined constant m - assumed 'm' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:44 2010] [error] [client 85.176.104.65] PHP Notice: Use of undefined constant d - assumed 'd' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.php
[Mon Jun 07 03:12:44 2010] [error] [client 85.176.104.65] PHP Notice: Use of undefined constant Y - assumed 'Y' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229, referer: http://www.premiumklicker.de/auto_surf.phpUnd diese Fehler wiederholen sich immer und immer wieder.
Bei jeden cron und jedem Interface.

Ich habe einen Server mit vollem Root Zugriff und Plesk 9.2.1 .
Rumgespielt wurde nix ich kann mir aber auch nicht vorstellen das die ganzen interfaces einen Fehler haben. Sind alles STG Interfaces..

wenn jemand Rat wüsste wäre ich sehr froh darüber.
Diese Fehlermeldung auch z.b.:

[Mon Jun 07 22:30:22 2010] [error] [client 83.171.167.199] PHP Notice: Use of undefined constant m - assumed 'm' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229
[Mon Jun 07 22:30:22 2010] [error] [client 83.171.167.199] PHP Notice: Use of undefined constant d - assumed 'd' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229
[Mon Jun 07 22:30:22 2010] [error] [client 83.171.167.199] PHP Notice: Use of undefined constant Y - assumed 'Y' in /srv/www/vhosts/premiumklicker.de/httpdocs/lib/functions.lib.php on line 229das wär in der Funktion bilanz

$date_stamp = mktime(0,0,0,date(m),date(d),date(Y));

schulz3000
07.06.2010, 23:26
Du hast keine Performance Probleme sondern ein "ich benutze verbugte PHP-Scripte" Problem.

Fangen wir mal an:
Übersetzt man diesen Fehler auf Deutsch "Use of undefined constant m - assumed 'm'" bedeutet er soviel wie "Es wurde eine undefinierte Konstante m,benutzt- erwartet wurde 'm'" Wenn man sich jetzt die Funktion date() mal in der php Referenz näher anschaut sieht man dort das ein String-Wert als 1. Parameter erwartet wird und keine Konstante wie bei dir angegeben.
Lösung:
$date_stamp = mktime(0,0,0,date("m"),date("d"),date("Y")); nutzen wir doch einfach Strings.

Alle "Undefined index: XXX" Fehler bedeuten das hier eine $_GET oder $_POST Variable ausgelesen wird in deren Array ein mit XXX benanntes Element vorkommen soll, dies aber nicht tut.

Alle "Undefined variable: XXX" sagt ja auch der Fehler schon, es wurde keine Variable mit dem namen XXX definiert.

Allgemeine Lösung: Scripts entbugen, dann bleibt das Errorlog auch schöne klein.

speedyg
07.06.2010, 23:45
Ja hab auch schon bissl gegoogelt, danke für den hinweis hab das gleich mal so geändert.

Aber wenn du von verbuggt sprichst das ist die bilanz function des vms. Asuerdem ist dann noch das V-check 4.1 verbuggt:

Denn diese fehler hab ich zu 10 tausenden in meiner errorlog:


[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined index: var1 in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 7
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined index: var2 in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 8
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined index: sponsor in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 10
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined index: kampagnenid in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 12
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined index: status in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 13
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined variable: code in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 44
[Mon Jun 07 22:29:08 2010] [error] [client 83.169.38.57] PHP Notice: Undefined variable: code in /srv/www/vhosts/premiumklicker.de/httpdocs/vg_datei.php on line 55

Ja und alle STG Interfaces ham nen Fehler.

wird ne menge arbeit

WaechterMedia
08.06.2010, 00:00
Welche PHP version ist auf deinem Server in verwendung?

Denn die bilanz version ist im standart nicht verbuggt es könnte höchstens ein addon sein was falsche werte einfügt aber ich denke eher das der fehler doch eher serverseitig zu finden ist.

Von verbuggten scripten würde ich nicht unbedingt reden vll. ist dein server einfach nur recht intollerant manche fehler verkraftet php oder der apache ja noch trotz dessen das die dokumentation es anders vorschreibt.

Edit: Da soviele variablen undefiniert zu sein scheinen wie sieht es aus mit dem safemode?

speedyg
08.06.2010, 00:02
PHP 5.2.13 läuft da

http://premiumklicker.de/phpinfo.php

WaechterMedia
08.06.2010, 00:12
Wobei performance probleme würde ich das nicht nennen.

Domain name Size Load Time Average Speed per KB
1 premiumklicker.de (http://premiumklicker.de/) 6.95 KB 0.67 seconds 0.1 seconds
2 premiumklicker.de (http://premiumklicker.de/) 6.95 KB 0.63 seconds 0.09 seconds
3 premiumklicker.de (http://premiumklicker.de/)6.95 KB 0.53 seconds 0.08 seconds

Ping: 1 premiumklicker.de ONLINE 40.96 ms

speedyg
08.06.2010, 00:15
ja im moment nicht, hab auch schon in der cron.php erst mal error reporting 0 gesetzt, und die bilanz function in strings gesetzt und die variablen definiert in der vg_datei. bin ja grade am problem lösen ;-)

Aber gestern und heute wars echt extrem , kam teilweise nicht mehr auf die seite.

WaechterMedia
08.06.2010, 00:19
Aber die crons laufen ansonsten oder nicht?
Vll. ist wirklich dein error reporting nur zu penibel?

speedyg
08.06.2010, 00:21
wenn ich wüsste wie ich das ändern könnte ;-) bin noch ziemlich neuling beim thema root Server mit plesk

WaechterMedia
08.06.2010, 00:28
http://johannes-ruthenberg.de/php-errorlog

Da ist das ganz gut erklärt :yes:


Hier wird eingestellt, was geloggt werden soll, also Meldungen welcher Stufe. Nicht jeder Fehler ist gleich wichtig, deshalb gibt es verschiedene Stufen: E_ERROR, E_WARNING, E_NOTICE und eine Reihe weiterer. Der Default-Wert ist „E_ALL & ~E_NOTICE“ (=alle Meldungen außer solchen der Stufe E_NOTICE). Das ist für den normalen Nutzer eine sinnvolle Einstellung. Wer auch Meldungen der Stufen E_Notice und E_Strict sehen möchte (das sind Hinweise, wenn PHP-Funktionen nicht ganz standardgemäß verwendet werden), stellt hier „E_ALL | E_STRICT“ ein. PHP ist normalerweise recht fehlertolerant, so dass kleinere Unregelmäßigkeiten nicht zwangsläufig zum Abbruch des Scriptes führen. Aber auf einem lokalen Testsystem können auch diese Meldungen interessant sein.

speedyg
08.06.2010, 01:36
Ja danke erstmal ich habe diese einstellungen übernommen. Und werde mal beobachten ob es daran lag.

edit: Bis jetzt Zeigt die Änderung wirkung :-) Nun läuft die seite lockig flocker und mein error log ist nur noch 2 mb groß

didith1207
08.06.2010, 16:26
du hast da noch ne css verlinkung die ins leere führt!
warum hast du da mehrere??


<link rel="stylesheet" href="/css/main.css (http://www.designerscripte.net/view-source:http://www.premiumklicker.de/css/main.css)" type="text/css">
<link rel="stylesheet" type="text/css" href="../highslide/highslide.css (http://www.designerscripte.net/view-source:http://www.premiumklicker.de/highslide/highslide.css)" />

breaker
08.06.2010, 16:55
wenn ich wüsste wie ich das ändern könnte ;-) bin noch ziemlich neuling beim thema root Server mit plesk


Das hat nur wenig mit dem Root-Server zu tun ;)

Das ist einfach Laienhaft Programmiere Scripte, du kannst das mitschneiden von Notice-Meldungen aber in der Apache-Config abschalten, schau dir dazu einfach mal diese Seite an: http://httpd.apache.org/docs/2.0/logs.html

jpwfour
08.06.2010, 17:32
Die Meldungen haben aber allesamt nix mit der Performance zu tun, man kann sie beseitigen/unterdrücken/ignorieren.

Ping/Downloadgeschwindigkeit sagt auch mehr was über die Anbindung aus, dennoch kann die Seite ja durch eine langsame Datenbankabfrage bspw. 2 Sekunden zum "laden" brauchen.

Die Aussage, dass die Seite durch das Umstellen des Log Levels besser läuft, ist meiner Meinung nach nur ein Placebo :wink:

speedyg
08.06.2010, 18:41
so update Info. Ein runterschalten des errologging nützt nichts.
Denn habe schon wieder das selbe Problem.

Habe jetzt bei Support angerufen. Das liegt wohl definitv an den STG interfaces mit den Crons, muss ich die wohl alle umschreiben.

Ein runterschrauben des error loggings nützt nichts, die fehler sind ja weiterhin vorhanden und sorgen dann beim cronlauf dafür das meine DB hängen bleibt und demzufolge auch die Seite sich nicht aufrufen lässt.

Ja werde nun die anweisungen des supports befolgen und dann eben alle STG Interfaces richtig umschreiben.

Zitat support, das liegt an schlechter Programmierung.

breaker
08.06.2010, 19:04
Die Meldungen haben aber allesamt nix mit der Performance zu tun, man kann sie beseitigen/unterdrücken/ignorieren.

Ping/Downloadgeschwindigkeit sagt auch mehr was über die Anbindung aus, dennoch kann die Seite ja durch eine langsame Datenbankabfrage bspw. 2 Sekunden zum "laden" brauchen.

Die Aussage, dass die Seite durch das Umstellen des Log Levels besser läuft, ist meiner Meinung nach nur ein Placebo :wink:

Ne, wie den auch? :D
Besser wird sie nicht laufen, nur die Meldungen im Logfile werden unterdrückt (Was einem "Aus den Augen, aus dem Sinn" gleichkommen würde) ;)

speedyg
08.06.2010, 19:50
so und da ich nicht so der Programierer bin gleich mal ne Frage wie ich das umändern müsste.

Folgende Fehler:

http://www.php-fehlermeldungen.de/topic20.html


PHP Notice: Undefined variable: file_fein
PHP Notice: Undefined variable: file_fein_traffic
PHP Notice: Undefined variable: nummer
Das sind die Zeilen dazu:

if($fb){
while($line=fgets($fb,1000)) {
$file_fein.= $line;
}

if($einbuchen == true){
$nummer++;
}

if($fb){
while($line=fgets($fb,1000)) {
$file_fein_traffic.= $line;
}Diese 3 Zeilen müsst ich umändern hab aber kein plan wie ;-)

Die vg_datei.php vom Vcheck müsst ich auch noch ändern spuckt mir auch tausende Fehlermeldungen aus aber wichtig wären erst mal die crons.

Aber wenn ich mal 1-2 Lösungen vorliegen habe kann ich die sicher auf den Rest der Addons umsetzten, Vcheck, LKT surfbar und, Anteils Addon., Sind überall Undefined variabel bzw. Undefined index dabei

jpwfour
08.06.2010, 20:43
Nur das dir das mit deinen Performance Problemen nichts bringen wird.

Das sind zwar Fehler/Warnungen/Informationen, die dir PHP da ausgibt, und jemand, der die Interna nichtkennt, ist evtl. dadurch verunsichert.

Aber im schlimmsten Fall verzögert sowas die Skriptlaufzeit um Promille Werte!

Es geht darum, zu ermitteln, wo die Schwachstelle bezüglich der Performance liegt, und nicht PHP Notices zu beseitigen! Das kann zwar nicht Schaden, ist aber viel zu viel Aufwand, der das eigentliche Problem nicht beseitigt.

Evtl. baust du dir den Codeschnippsel ein, sodass PHP Zeit und SQL Zeit getrennt angezeigt werden, prüfst die Query Anzahl und schaltest das slow_query Log ein mit 1 Sekunde maximaler Query Zeit.

Dann muss der RAM und CPU Verbrauch der Prozesse überwacht werden, evtl da ja root Zugang PHP erweitert werden, damit sinnvolle Perfomrance Analysen möglich sind.

Du musst mir nicht glauben, ich will dir aber nur Frust ersparen, les' dir am besten nochmal genau durch, WAS das für Meldungen sind, die PHP dir da gibt, wodurch sie ausgelöst werden, was eine interpretierte Skriptsprache von einer zu kompilierenden Sprache wie C++ bspw. unterscheidet.


Abgesehen davon, dass es sogar unnötig ist, in PHP Skripte auf diese Notices hin zu optimieren, dafür gibt es Tools, die das beim 1. Aufruf eines Skriptes automatisch übernehmen, insofern fällt dann das Argument "schlechte Programmierung" weg :wink:

Jenny
08.06.2010, 20:55
Mal ne andere Frage, hast Du die STG_Interfaces aus seinem Shop, von nem anderen Shop oder irgendwo anders her? und stimmen die Interfaces in der Version mit Deiner vms Version wirklich überein?

speedyg
08.06.2010, 20:55
Ja dann erklär mich doch bitte mal warum genau durch diese Crons meine DB regelmäsig hängen bleibt? Ich hab nur testweise meine cron.php umbenannt weil mir das zu umständlich wäre alle cronjobs zu deaktivieren und die seite rennt wieder wie ne eins.

Also liegt doch der Fehler wohl an den Interfaces.

Und ein Fehler bleibt doch nunmal ein Fehler der auch beseitigt werden sollte, bin ich der meinung.
die Fehlermeldung zeigt doch auch eindeutig den Fehler im Script an. Auf die Zeile genau.

Und das argument schlechte Programmierung fällt nicht weg da nunmal eben diese der Fehler vorhanden ist.

Und an der Performance vom Root liegt es nicht, ich hab beim support angerufen und der konnte mir direkt sagen das die DB nicht hinnerherkommt mit den Anfragen.

durchweg alle STG Interfaces haben an genau der selben Stelle diesen code und verursachen die hundert tausenden von Fehlern.


Mal ne andere Frage, hast Du die STG_Interfaces aus seinem Shop, von nem anderen Shop oder irgendwo anders her? und stimmen die Interfaces in der Version mit Deiner vms Version wirklich überein?

sind alle ausm STG Shop und alle für 1.2. also so schlau bin ich auch noch ;-)

Jenny
08.06.2010, 20:58
Führst Du diese Cronjobs über Crontabs aus Deinem Server heraus aus?

speedyg
08.06.2010, 21:07
Führst Du diese Cronjobs über Crontabs aus Deinem Server heraus aus?

die laufen alle über Cronjob de.

Und an der Server Performance liegts nicht.
Wie der support schon erwähnte isses die DB in verbindung mit den Crons.

http://250kb.de/u/100608/p/t/srNECGl45mus.gif (http://250kb.de/4zL5aaz)

Jenny
08.06.2010, 21:20
diverse Banner, Paidmails usw werden aber auch eingebucht in die db? oder treten da auch Fehler auf, also wird nichts eingebucht?

Die Zeilen die Du gepostet hast besagen zum einen was geholt wird



if($fb){
while($line=fgets($fb,1000)) {
$file_fein.= $line;
}
fclose($fb);
}


und zum anderen



//Vorberteiten für Ausgabe falls vorhanden ANFANG
if($einbuchen == true){
$nummer++;
}


wie sich das Interface bei $einbuchen == true verhalten soll

das lässt mich fragen ob die Banner in der db überhaupt gespeichert werden und ob sie beim User überhaupt angezeigt werden

Sebmaster
08.06.2010, 21:24
Ja dann erklär mich doch bitte mal warum genau durch diese Crons meine DB regelmäsig hängen bleibt? Ich hab nur testweise meine cron.php umbenannt weil mir das zu umständlich wäre alle cronjobs zu deaktivieren und die seite rennt wieder wie ne eins.

Also liegt doch der Fehler wohl an den Interfaces.

Und ein Fehler bleibt doch nunmal ein Fehler der auch beseitigt werden sollte, bin ich der meinung.
die Fehlermeldung zeigt doch auch eindeutig den Fehler im Script an. Auf die Zeile genau.

Und das argument schlechte Programmierung fällt nicht weg da nunmal eben diese der Fehler vorhanden ist.

Und an der Performance vom Root liegt es nicht, ich hab beim support angerufen und der konnte mir direkt sagen das die DB nicht hinnerherkommt mit den Anfragen.

durchweg alle STG Interfaces haben an genau der selben Stelle diesen code und verursachen die hundert tausenden von Fehlern.

Es mag ein Fehler sein. Es ist aber nicht der Fehler, den du suchst.:rolleyes:

Die Crons haben möglw. einfach langsame DB-Abfragen, das hat jedoch nichts mit diesen Fehlern zu tun.:suspicious:

speedyg
08.06.2010, 21:32
das lässt mich fragen ob die Banner in der db überhaupt gespeichert werden und ob sie beim User überhaupt angezeigt werden

die Werden eingebucht und beim user auch angezeigt und die crons hab ich auch auf nur einbuchen gestellt


Es mag ein Fehler sein. Es ist aber nicht der Fehler, den du suchst.:rolleyes:

Die Crons haben möglw. einfach langsame DB-Abfragen, das hat jedoch nichts mit diesen Fehlern zu tun.:suspicious:

Und warum gibt die dann die db den geist auf bei eben diesen Crons? und produziern 200-300 Tausen fehlermeldungen?

Jenny
08.06.2010, 21:41
Hm, hast mal auf Anzeigen/ einbuchen gestellt? meckert das System dann auch?

Sebmaster
08.06.2010, 21:50
Und warum gibt die dann die db den geist auf bei eben diesen Crons? und produziern 200-300 Tausen fehlermeldungen?

Da steht doch schon die Lösung.
Die Fehler, die du behebst kommen vom Webserver, nicht von der DB.

Jenny
08.06.2010, 21:58
das zu umständlich wäre alle cronjobs zu deaktivieren und die seite rennt wieder wie ne eins.


hab da mal ne Frage bez. dieses Satzes *lol* wie oft laufen die Crons? alle paar Minuten oder wie? denn wenn zuuuuu viele Crons auf einmal laufen dann streikt der webserver so wie die db auch .......

Interessant ist für mich, dass ich an sich diese IF laufend bei irgendwelchen Seiten ohne, absolut ohne Probleme einbaue und diese Seiten auch rennen.

Dementsprechend gehe ich mal davon aus, dass bei Dir noch mindestens ein anderes Problem als die Crons vorliegen und die Crons an sich nur das sind was den Fehler (die Fehler) zeigen

speedyg
08.06.2010, 21:59
Da steht doch schon die Lösung.
Die Fehler, die du behebst kommen vom Webserver, nicht von der DB.

eben nicht, die Fehler stehen doch eindeutig im errolog, ein Fehler ist ein Fehler oder etwa nicht?
Und dadurch das die crons eben diese tausenden von fehlern verusachen beim einbuchen streikt die DB. Nicht der Server. Hast dir nicht das Bild angeschaut?

Oder willst du jetzt nen Fehler der eindeutig angezeigt wird wegreden?


PHP Notice: Undefined variable: file_fein_traffic in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_traffickracher.paidlinks.php on line 161, referer: http://cronjob.de/?id=w495247


Das ist doch eine eindeutige Fehlermeldung? Oder irre ich mich da?

didith1207
08.06.2010, 22:05
also jeder Sponsor hat ja verschiedene Kampagnen deshalb auch verschiedene crons...

Ich achte bei mir immer darauf das diese crons mit minimum 5 min unterschied laufen.. wenn einmal eine sponsorseite nicht gut erreichbar ist hängt man gleich mal in einer blöden schleife...

Sebmaster
08.06.2010, 22:09
eben nicht, die Fehler stehen doch eindeutig im errolog, ein Fehler ist ein Fehler oder etwa nicht?

Oder willst du jetzt nen Fehler der eindeutig angezeigt wird wegreden?

Wenn du meine Posts lesen würdest, würdest du sehen, dass diese Fehler von PHP/Webserver kommen. NICHT von der DB. Ich wiederhole: NICHT.
Deswegen steht da auch: PHP Notice.

Nicht DB-Error.

didith1207
08.06.2010, 22:21
hmm.. hab mir gerade so ein stg interface cron angeguckt...

da steht zb:


//Variablen vordefinieren für Traffic
$file1 = "";und danach:


$file_fein_traffic.= $line;und

$ausgabe = explode("|", $file_fein_traffic);ändere die beiden zeilen mal auf:

$file1.= $line;und

$ausgabe = explode("|", $file1);ohh mein gott :( das das noch keinem aufgefallen ist??? der hat diese fehler überall drinnen :(

speedyg
08.06.2010, 22:56
Das nenn ich mal einen Lösungsansatz ;-) Danke dir. Aber die ham ja keine Fehler die IF's :frusty:

didith1207
08.06.2010, 22:58
laut deinem log im ersten post schon ;)



[Mon Jun 07 03:12:32 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_ads4world.forcedbanner.php on line 44, referer: http://cronjob.de/?id=w495015

[Mon Jun 07 03:12:34 2010] [error] [client 87.106.69.47] PHP Notice: Undefined variable: file_fein in /srv/www/vhosts/premiumklicker.de/httpdocs/crons/stg_banner-sponsor.paidlinks.php on line 46, referer: http://cronjob.de/?id=w495035



usw... das sind genau die file_fein (falsche variable)

speedyg
08.06.2010, 23:13
laut deinem log im ersten post schon ;)



Naja laut den andern hier im forum nicht sondern mein Server :der:

Naja werd zumindest mal die paidlinks IF's daraufhin abändern.

didith1207
08.06.2010, 23:23
soweit ich gesehen habe sind alle stg interface crons betroffen nicht nur die paidlinks :( die variablen sind überall falsch :(

Lokutos
08.06.2010, 23:28
also ein Notice ist nur eine bemerkung und kein fehler

und undefinid sagt ja nur aus das die variable bis jetzt noch nicht definiert wahr und jetzt definiert wurde.

die fehler kommen vom server also vom script un nicht von der datenbank

aber ich bin mir zu 100% sicher das dies nicht die ursache deines Geschwindikeitsproblemes ist.

dein hoster hat ja die aussage getroffen das der datenbankserver schlap macht.

die logs da stehen ja nicht in der datenbank das währe ja noch schöner.

die frage ist also warum kommt dein server nicht damit zurecht.

lässt du die crons versetzt laufen sprich nicht alle um 12 uhr alle um 1 uhr ....

dan ev. wie oft lässt du die crons laufen??


ev. ist dein db server auch durch deine seite ausgelastet das es die kurzzeitigen schöbe der crondatei nicht verkraften mag.

natürlich währe es möglich die IF so umzubauen das sie mit 3 crons laufen würden den pr kampagne laufen ja ca 3 db abfragen.

MFG Lokutos

speedyg
08.06.2010, 23:52
Klar hab ich die versetzt ich schick doch keine 200 crons in einer minute auf meinen Server los ;-)

Tatsache ist aber nunmal das eben bei den Crons dieser IF's die DB schlapp macht. Aber ich bin ja auch schon auf der suche nach STG alternativen ;-)

Da hab ich aber auch gleich ma ne Frage an dich bezüglich der Surfbar. Wie sieht das denn mit den Logs aus. soll ich die tabellen regelmäsig von Hand leeren?

Lokutos
09.06.2010, 00:04
hm hab ich da keinen knopf eingebaut??
na dann werde ich das mal als update aufschreiben und nachliefern.


Tatsache ist aber nunmal das eben bei den Crons dieser IF's die DB schlapp macht. Aber ich bin ja auch schon auf der suche nach STG alternativen ;-)

genau und das hat rein garnichts mit irgend welchen logs zu tun die belasten die db 0
jetzt ist halt die frage warum machts sie schlapp
kommen zu grosse anfragen oder kommen zu viele anfragen

bei zu vielen anfragen gibt es keinen umweg.
da muss man einfach dan entweder die crons umschreiben oder
du wechselst auf nen schlechten server weil der is ja wohl ganz schlecht wenn der nicht mal mit 200 anfragen zurecht kommt.

speedyg
09.06.2010, 00:16
du wechselst auf nen schlechten server weil der is ja wohl ganz schlecht wenn der nicht mal mit 200 anfragen zurecht kommt.

Ja das das direkt nichts mit den logs zu tun hat ist ja mir schon klar. di elogs sind nicht die ursache. aber die logs sagen mir ja wo das Problem evtl liegt. und das sind eben die IF's die 200 000 und mehr errologs einträge hervorrufen.

Die paar tausend der Surfbar gar nicht mitgerechnet.

also wenn du meinst die Telekom hat müll ich weis net,. Dein Internet läuft doch tadellos? Wenn die Telekom bzw t-online keine gute infrastruktur haben soll mhmm. :der:
Die haben sicher mehr ressourcen als manch ein anderer Anbieter.

Lokutos
09.06.2010, 00:24
Ja das das direkt nichts mit den logs zu tun hat ist ja mir schon klar.

Irgendwie nicht stell einfach die logs aus bzw das Notice weg dan ist dein fehler den du dir einredest beseitigt



di elogs sind nicht die ursache. aber die logs sagen mir ja wo das Problem evtl liegt. und das sind eben die IF's die 200 000 und mehr errologs einträge hervorrufen.

Nein Nein und nochmals nein
laut deinen aussagen bzw die deines hosters kannst du das wie oben geschrieben vergessen. DEIN PROBLEHM IST DIE HUNDERTEN DB_QUERYS die der cron aufruft (3pro Kampagne)



also wenn du meinst die Telekom hat müll ich weis net,. Dein Internet läuft doch tadellos? Wenn die Telekom bzw t-online keine gute infrastruktur haben soll mhmm. :der:
Die haben sicher mehr ressourcen als manch ein anderer Anbieter.
klar und sicherlich auch viel mehr kunden

die meisten grosbetriebe sind nicht die besten was leistung betrifft.

die beste infrastruktur nützt nichts wen sie zugebompt wird mit kunden.

Jenny
09.06.2010, 00:33
*gg* nun, das die Telekom genügend Ressourcen hat bezweifelt niemand :) nur, kannst Du die auch wirklich voll nutzen??? oder wirst einfach mal so bei Seite geschoben mit Deiner Bandbreite oder mit der Anbindung an sich???? Das ist nämlich wie bei vielen Hostern noch ne ganz andere Frage *lol* Auch ein Rootserver kann vom Provider beschnitten werden.

Du hast ne Surfbar laufen, schau doch bitte mal wie Du die Paidlinks (Text u. Traffic) eingestellt hast bei den Stigma IF`s..... eventuell haste da auch schon nen weiteren Angriffspunkt für die Errors, weiss nicht wie Deine Surfbar aufgebaut ist und ob die eigene IF nutzt oder wie auch immer geartet ist, kenne sie nicht.

Die Vordefinierung sollte an sich, wie ich schon vorher sagte nicht wirklich das Problem sein auch wenn Errors damit angezeigt werden, denn definiert an sich ist die Variable ja, ich habe mir die IF`s gerade noch einmal angesehen.

Anfragen an die db werden ja nicht nur durch Crons gestellt sondern auch durch absolut jeden Aufruf einer "Unterseite" Deiner Page, oder eines jeden Banners und und und. Dass das gesamte vms einige Schwachstellen hat ist jedem bekannt und dass es auch in der neusten Version, versehen mit evtl älteren Addons, ebenfalls sehr trafficlastig wird ist auch bekannt denn nicht alle Addons sind ja optimiert und die DB Tabellen werden kaum bis gar nicht bei den Addons direkt mit Indexes u. ä. versehen, auch heute noch nicht. Alles zusammen genommen dann verursacht Deinem Server vielleicht mehr Probleme als z.B. meinem ( der lacht über so Kleinkram *lol*) wenn allerdings in der Nacht die Wartungscrons laufen und Hauptbackups ohoh, dann knirscht auch der mit den Zähnen und nicht zu knapp

speedyg
09.06.2010, 02:22
Ja ich kann meine mir versprochenen ressourcen voll nutzen.

Meine Pingzeiten belegen doch das da nichts beschnitten wird. Ich hab ne direkt Anbindung an die Backbones der Telekom, das können die meisten von ihren Hostern sicher nicht sagen

Ich nutze die Neue Surfbar die hier im Forum angeboten wurde und die nutzt durch eine Änderung die STG IF's mit

Aber wenn durch fehlerhafte Programmierung meine DB lahm gelegt wird liegt das nicht am Server sonder wie gesagt an der fehlerhaften Programmierung.

Ich brauch darüber aber auch net diskutieren , mir wurde hier ja paar zeilen vorher ddankbarer Weise ein Lösungsansatz gegeben der die fehlerhafte Programmierung ja offenlegt.

Schaut dir doch selber die IF's an. Aber richtig.

Wozu wird erst die variable
$file1 = "";definiert die dann aber paar zeilen weiter überhaupt nicht mehr genutzt wird?

da hätte ich genauso reinschrieben können
$nurzurlangeweile = ""; hätte auch keine auswirkung.

Wozu eine variable definieren die nicht benutzt wird? aber nachher mit if auf eine zugreifen die eben vorher nicht definiert wurde. :der:


aber um auf dich zurückzukommen Lokutus , deine Surfbar ruft auch 10 tausende von meldungen hervor, und da sind ein paar leute die ,sie Dauer laufen lassen, ebenso die vg_datei.php und die topframe_froced mit der änderung vom vcheck, auf den tag gerechnet 200-300 tausend falsche anfragen.

Um mal ein Beipiel zu nennen, paar fehler konnte ich schon beheben.

Deine Anweisung:


if($_GET['sperre'] == 'true')hat folgenden effekt wenn ich die Surfbar auf inaktiv Stelle:


[Wed Jun 09 04:56:11 2010] [error] [client 85.176.113.232] PHP Notice: Undefined index: sperre in /srv/www/vhosts/premiumklicker.de/httpdocs/content/auto_surf_wartung.php on line 3, referer: http://www.premiumklicker.de/auto_surf.php sollte das nicht eher so aussehen ?


if (isset($_GET['sperre']) && $_GET['sperre'] == 'true')
Nur einer der meldungen die meine errorlog füllt, hab die jetzt mal so überflogen, die meisten kommen von der Surfbar.

Und jetzt komm daher und sag mein server ist schuld wenn mir scripte wie die IF's, Vcheck und vor allem die Surfbar bis zu 300 000 fehlermeldungen hervorrufen.

.
Also, Nein, Nein und nochmals Nein. Nicht mein Server ist daran Schuld sondern schluderige Programmierung ,-)

Evtl, sollten manche Programmiere einfach die errors auch alle mitloggen und nicht User die solche finden ratschläge geben doch einfach das logging runterzuschrauben :frusty:

Fazit: Ich werd einfach jetzt stück für stück alle fehler durchgehen und beseitigen

didith1207
09.06.2010, 09:37
Das mit den STG interfaces ist krass.. ich bin unschuldig da ich diese nie in verwendung hatte aber das diese fehler keinem aufgefallen sind???

PHP Notice: Undefined variable:

Der Hinweis wird ausgegeben, weil mit einer nicht definierten Variablen hantiert wird, d. h. der Name der Variablen existiert nicht, ein konkreter Wert ist folglich auch nicht verfügbar. Durch die automatische Typ-Konvertierung wird der angenommene "Wert" NULL dann zwar in einen passenden Datentyp verwandelt - das ist aber nur ein "Notbehelf", damit das Script weiterlaufen kann.

Handelt es sich um Script-interne Variablen, sollten diese vor der Verwendung definiert werden. Bevor man also $foo .= "bla"; schreibt, um an $foo etwas anzuhängen, ist ein $foo = ""; nötig, um die Variable zu definieren und ihr einen leeren String zuzuweisen.

Es ist zwar auch möglich, PHP auf einen niedrigeren Error reporting level zu konfigurieren (error_reporting = E_ALL & ~E_NOTICE;), aber das ist auf Dauer nicht empfehlenswert, da es nur die Ausgabe der Warnung unterdrückt, nicht aber die eigentliche Ursache des Problems beseitigt.

fazid: Das unterdrücken ist nicht wirklich eine gute Lösung ;)

Wenn sie ein Open-Source Programm (Forum, Shop, CMS) einsetzen und wissen wollen ob hier auch diese Fehler vorhanden sind, stellen sie in der PHP.ini das Error_Reporting auf E_ALL und display_errors sollte auf 1 stehen. Wenn sie keinen Zugriff auf die php.ini haben können sie auch einen kleinen PHP Code oberhalb Ihrer Scripte einfügen das die Ausgabe der Meldungen bewirkt.



error_reporting(E_ALL);
// oder folgende Anweisung:
ini_set ('error_reporting', E_ALL);

Lokutos
09.06.2010, 10:49
Ich red mit ner wand

Hörst du überhaupt zu was irgend wer sagt??
Wenn ein Auto nicht läuft kontrolliert man auch nicht den radio.


Laut aussagen deines Hosters ist die datenbank überlastet.
Wiedersprichst du mir da???

So nun soll die DB überlastet sein das heist es ist der Datenbankserver überlastet.
so diese ganzen Notice meldungen die KEINE fehler sind sind dabei egal
ich kenne leute da werden in der stunde 10 mio meldungen da abgelegt
pech solange nirgends steht Error

so um deinem problehm aber auf die schlichte zu kommen obwohl ich das gefühl habe du willst keine lösung so wie du dich Quer stellst.

Was hast du den für einen server
Wie oft führst du die crons aus
wie viele kampagnen hast du im system?

wie gross ist deine DB??

und wen du jetzt noch einmal schreibst das die notice an deiner serverlast schuld sind dan sorry dan soll es so sein u8nd ich helf nicht mehr weiter.
ein notice ist ein notice und wie JPW schon geschrieben hat verursacht er genau gleich viel last wie wen du die variable am anfang definierst.
also 100000000 fehler = verzögerung von 1-2 sec

MFG Lokutos

didith1207
09.06.2010, 11:09
ließt du auch inklusive denken?

das ändert nichts daran das diese fehler behoben werden müssen um das ganze einzugrenzen....

Notiz meldungen sind Programierfehler also Fehler!

Lokutos
09.06.2010, 11:30
ließt du auch inklusive denken?

das ändert nichts daran das diese fehler behoben werden müssen um das ganze einzugrenzen....

Notiz meldungen sind Programierfehler also Fehler!

ja ich denke und hier geht es um die lösung des Performanceproblehms
und da ja paar seiten weiter vorne steht das die DATENBANK überlastet ist kann man da noch so viel optimieren wie man will

Und ein NOTICE ist KEIN Fehler

ein ERROR ist ein fehler
ein NOTICE ist nur eine bemerkung das php selbständig die variable gesetzt hat in diesem falle.


aber ich seh schon optimirt ihr da an euren fehler rum und klagt warum es nix bringt ich zieh mich hier zurück

speedyg
09.06.2010, 12:26
ja ich denke und hier geht es um die lösung des Performanceproblehms
und da ja paar seiten weiter vorne steht das die DATENBANK überlastet ist kann man da noch so viel optimieren wie man will

Und ein NOTICE ist KEIN Fehler

ein ERROR ist ein fehler
ein NOTICE ist nur eine bemerkung das php selbständig die variable gesetzt hat in diesem falle.


aber ich seh schon optimirt ihr da an euren fehler rum und klagt warum es nix bringt ich zieh mich hier zurück

Nee ich klag nicht das es nichts bring sondern bemerke das die meldungen weniger werden und demzufolge auch die probs. Du hältst dich ja deiner Surfbar an überhaupt keine PHP Regeln, undefined index, variable, constant und so gehts munter weiter, hauptsache das ding läuft. ob es jedoch richtig läuft interessiert dann wohl weniger. Mich jedoch schon.

Deswegen, ich behebe die Fehler und gut ist.

Fühlst du dich in deiner Ehre als Progger verletzt wenn man dich auf eine falsche Programmierung hinweist?
Dann isses eben Falsche Programmierung und kein fehler lol, :frusty:

jpwfour
09.06.2010, 12:30
Diesen Thread kann ich nicht mit gutem Gewissen in einem Helpdesk Forum lassen, evtl. glaubt sonst noch wer, was teilweise hier geschrieben wird...

Dazu kommt, dass meiner Meinung nach der Initiator nicht wirklich Interesse an Hilfestellung hat, wenn man eh schon Alles (besser) weis, muss man wohl kaum in einem Helpdesk Forum fragen?

Dennoch auch ein OnTopic:

slow_query_log aktiviert?
long_query_time auf 1?
log_queries_not_using_indexes auf ON?

speedyg
09.06.2010, 13:02
Dazu kommt, dass meiner Meinung nach der Initiator nicht wirklich Interesse an Hilfestellung hat, wenn man eh schon Alles (besser) weis, muss man wohl kaum in einem Helpdesk Forum fragen?


Was für ein Quatsch die hatte bzw habe ich, und habe ich ja bekommen. aber eben nur von einem User.
der sich mal so ein IF angesehen hat und sofort den Fehler bemerkt hat.

Also wieso eine fehlerhafte Programmierung gutreden? :frusty:
Zu sagen mein Server sei dran Schuld ist ja wohl keine Lösungvorschlag.


Seit ich das am fixen bin, läufts immer besser.
Nä? aber mein Server ist Schuld was für ein Quark. :der:

So diskussion für mich beendet, danke an didith1207 für die Hilfe :thumb:

Lokutos
09.06.2010, 13:08
Fühlst du dich in deiner Ehre als Progger verletzt wenn man dich auf eine falsche Programmierung hinweist?
Dann isses eben Falsche Programmierung und kein fehler lol, :frusty:

Nein fühle ich mich nicht.
Ich sehe es auch nicht als falsche Programmierung an,
naja wenn du mir sagst welche Fehlermeldungen du erhältst bin ich gerne bereit diese auszubessern.

ich habe mein error handling so eingestellt:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING

und erhalte gar keinen error log auf meiner Seite mit dem autosurf.
aber wie gesagt schick mir einen Auszug mit den Fehlern und es wird ausgebessert.

Lokutos
09.06.2010, 13:16
Was für ein Quatsch die hatte bzw habe ich, und habe ich ja bekommen. aber eben nur von einem User.
der sich mal so ein IF angesehen hat und sofort den Fehler bemerkt hat.

Also wieso eine fehlerhafte Programmierung gutreden? :frusty:
Zu sagen mein Server sei dran Schuld ist ja wohl keine Lösungvorschlag.


Seit ich das am fixen bin, läufts immer besser.
Nä? aber mein Server ist Schuld was für ein Quark. :der:

So diskussion für mich beendet, danke an didith1207 für die Hilfe :thumb:

don sorry muss ich dir sagen das dich entweder dein hoster angelogen hat oder du uns.

es sagt keiner das dein server schuld ist aber
man erkennt deinerseits wirklich kein interesse

du gehst auf KEINE frage ein sondern in jedem post kommt von die die notice sind schuld weil dir das am anfang einer gesagt hat.

um ein tatsächliches fazit zu erstellen fehlen 99% Informationen.


um zum thema zu kommen.
wenn dein server durch die paar notice zuliegen kommt dan kann man entweder von schlechtem server oder schlechter einstellung reden.

du solltest aber sehen das dir dein hoster gesagt hat das die datenbank nicht hinterher kommt, daher hat das wenig mit den notive zu tun


ob dein server wirklich so schlecht ist kann man ja einfach mit einem test herausfinden.

mal ne php datei erstellen und diesen code ausführen (Zeit zählen)


<?php
for($i=0;$i<10000000;$i++){
if($bloooob =='true') $a=1;
}?>
zu

<?php
$bloooob = false;
for($i=0;$i<10000000;$i++){
if($bloooob =='true') $a=1;
}?>



wie gesagt dein hoster sagt die db macht schlapp und das hat 0 mit den notice zu tun alles was die datenbank betrift braucht ein mysql_query

jpwfour
09.06.2010, 13:21
Ich werd' dass dann mal bei den PHP Entwicklern melden, dass die Notices den Server so extrem verlangsamen, und auch aus Notices bitte Errors gemacht werden, da dass jetzt das selbe ist :biggrin1:

speedyg
09.06.2010, 13:26
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNINGund erhalte gar keinen error log auf meiner Seite mit dem autosurf.
aber wie gesagt schick mir einen Auszug mit den Fehlern und es wird ausgebessert.

stell dein error log auf error_reporting = E_ALL

wirst schon sehen wo die fehler sind

Ich sagte ja schon Diskussion für mich beendet da ich Hilfe bekommen habe und das hier wirklick zum eierthread verkommt seit jemand einen der vielen Fehler freundlicherweise gefunden wurde. :cool:

jpwfour
09.06.2010, 13:29
Hab auch noch nen Fehler gefunden, der sitzt aber vorm Bildschirm :biggrin1:

Btw: da du nen Root hast, hast du mal eine PHP Caching/Accelerator Erweiterung instaliiert?

Hatte ja schon in meiner maßlosen Unwissenheit behauptet, dass diese solche "kritischen Ausnahmefehler" eventuell automatisch beseitigen können würde, aber das ist vermutlich auch falsch :eek:

speedyg
09.06.2010, 13:35
Hab auch noch nen Fehler gefunden, der sitzt aber vorm Bildschirm :biggrin1:


Ja ne, das ist das problem wenn so spiegelt auf dem bildschirm :yes:

breaker
10.06.2010, 22:27
also jeder Sponsor hat ja verschiedene Kampagnen deshalb auch verschiedene crons...

Ich achte bei mir immer darauf das diese crons mit minimum 5 min unterschied laufen.. wenn einmal eine sponsorseite nicht gut erreichbar ist hängt man gleich mal in einer blöden schleife...

Wenn man es genauso macht, wie es im Netzwerk beschrieben wurde, hat man eigentlich keine andere Wahl, wenn man es allerdings mit fsockopen oder cURL macht, kann man zum erstellen und Abrufen ein Timeout setzen ;)