PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fb_blacklist legt Klickbereich lahm



Sam2004
02.04.2010, 14:12
Moin,

das wird nicht mein Tag.

Seit gestern gleicht die Geschwindigkeit meines Klick4bereiches einer lahmen Ente.

Zumindest konnte ich schon mal ermitteln, wo das Problem liegt, aber leider weiß ich keine Lösung.
Vielleicht hat jemand ne Idee in welchem zusammenhang die Tabelle ist.

Es handelt sich um vms_fb_blacklist. Irgendwann wegen irgendwas in so allen Klickdateien verbaut, aber schon zu lang her. Erst hab ich gedacht das es mit dem V-Check zusammen hängt, aber dem ist nicht so.

Was die Tabelle an sich angeht, so wird sie leider stündlich mit 3110 gesperrten kampagnen gefüttert. Ich weiß nicht warum das so ist. Derzeit leere ich regelmäßig die Tabelle, aber das is ja nicht im Sinne des Erfinders.

Was läuft da falsch, woher kommen die Kampagnen und wie werde ich sie wieder los?

Ich bin schon am verzweifeln :-/

Sam

Lokutos
02.04.2010, 14:28
das ist die blackliste vom adscan addon.

informier mal deine user ich wette mit dir du hast unter jedem banner n meldelink wo ein user so schlau ist und liky benutzt und jeden geklickten auch gleich mal meldet.

oder es sind die die vom cron von adscan eingebucht werden.

MFg Lokutos

Sam2004
02.04.2010, 14:33
das ist die blackliste vom adscan addon.

informier mal deine user ich wette mit dir du hast unter jedem banner n meldelink wo ein user so schlau ist und liky benutzt und jeden geklickten auch gleich mal meldet.

oder es sind die die vom cron von adscan eingebucht werden.

MFg Lokutos

Sers Joschi,

also liky können wir ausschließen, da sonst alle kampagnen in der Sperre wären, aber das nicht der Fall ist.

Mit adscan hab ich auch schon vermutet, dass die derzeit alle gemeldetet Kampagnen bei mir auch eingelesen werden und damit den Klickbereich lahmlegt. Hab mal den Cron deaktiviert und hoffe jetzt...wenn dem so ist, wäre alles in Butter...

Sebmaster
02.04.2010, 16:38
Wenn du eine sehr frühe Version des Addons verwendest ist das Problem ganz einfach zu lösen:

SQL:

ALTER TABLE `vms_fb_blacklist` ADD PRIMARY KEY ( `sponsor` , `kid` , `werbeart` ) ;

Sam2004
02.04.2010, 18:03
Wenn du eine sehr frühe Version des Addons verwendest ist das Problem ganz einfach zu lösen:

SQL:

ALTER TABLE `vms_fb_blacklist` ADD PRIMARY KEY ( `sponsor` , `kid` , `werbeart` ) ;

Ich geh mal von aus das es einer der ersten Versionen war, da es jetzt knapp 1 Jahr im Einsatz ist...

Danke dir für den Code...

Sam

Sebmaster
02.04.2010, 18:24
Danke dir für den Code...

Ist es mit dem jetzt schneller?

Sam2004
02.04.2010, 19:00
Ich hätte ja gern JA geschrieben, aber muss ich leider verneinen...Ich hab den Code eingefügt, den Cron wieder aktiviert, aber ist wieder das selbe in grün...Die Tabelle legt mir den Klickbereich lahm.

Insofern tut das dem ganzen aber keinen abbruch, da ich noch ein anderes Addon drin hab, wo man kampagnen sperren kann.

Wenn aber noch was anderes auf Lager haben solltest, nehm ich gern noch ein Hinweis oder nen Ratschlag...

Sam

Sebmaster
02.04.2010, 19:39
Schreib du mich mal bei Skype oder ICQ (siehe Profil) an, dann schau ich mir das auf deinem Server an (sofern du das willst).

Sam2004
02.04.2010, 19:51
Schreib du mich mal bei Skype oder ICQ (siehe Profil) an, dann schau ich mir das auf deinem Server an (sofern du das willst).

Musst du nicht unbedingt. Ich hab ja noch eine alternative und die funzt ja auch ;) ...dennoch Danke für Angebot...

Sam

marcaust
04.04.2010, 12:48
das Problem kenne ich doch, deswegen hab ich das Adscan soweit wieder ausgebaut.
Die Seiten für die Paidbanner, Paidmails, etc. brauchen durch die MySQl Query bis zu 15 Sekunden bis die geladen werden.

Dabei hab ich das nach der im Clienten Verfügbaren Anleitung eingebaut gehabt (Hier zu finden: http://www.adscan.de/?site=index125&site=downloads).

Das:


ALTER TABLE `vms_fb_blacklist` ADD PRIMARY KEY ( `sponsor` , `kid` , `werbeart` ) ;

war da schon von Anfang an drin. Daran liegt es also nicht.

Gibt es dazu noch Ideen woran das liegen könnte?
Im Augenblick überlege ich deswegen eher den Adscan Cron so umzubauen das er mir die erkannten einfach in die Blacklist setzt und nicht mehr beim Aufruf der klick4.php scannt.

Sebmaster
04.04.2010, 13:36
Im Augenblick überlege ich deswegen eher den Adscan Cron so umzubauen das er mir die erkannten einfach in die Blacklist setzt und nicht mehr beim Aufruf der klick4.php scannt.

Das Problem dabei ist, dass bei jedem Crondurchlauf alles von der Blacklist runtergenommen werden müsste, und die neuen Kampagnen wieder geblacklistet werden müssten. Das würde aber manuell gesperrte Kampagnen wieder aktivieren.

Führt mal folgenden SQL-Code in der Datenbank aus, und gebt mir die Rückgabe (per PN oder hier im Thread).

EXPLAIN SELECT t1 . *
FROM vms_gebuchte_werbung t1
LEFT JOIN vms_adscan_userblacklist t4 ON t4.tan = t1.tan
AND t4.uid =1
LEFT JOIN vms_fb_blacklist AS t3 ON t3.kid = t1.kid
AND t3.werbeart = t1.werbeart
LEFT JOIN vms_reloads t2 ON ( t1.tan = t2.tan
AND (
t2.uid =1
OR t2.ip = "147.161.82.104"
)
AND t2.bis >=0 )
WHERE (
t3.kid IS NULL
OR LOCATE( t3.sponsor, t1.ziel ) =0
)
AND t4.tan IS NULL
AND t2.tan IS NULL
AND t1.werbeart = "forcedbanner"
AND t1.reload >=100
AND t1.menge >0
AND t1.status =1
AND t1.verdienst >100
AND t1.sponsor !=1
ORDER BY verdienst DESC
LIMIT 30

Lokutos
04.04.2010, 13:44
hm also an sonder blackliste 15 sekunden laden :der:
da is was murks

also ich hab bei mir mal geschaut und die abfrage braucht nicht mal eine sekunde

ev. mal primery und co raus löschen und nur einen Index auf kid und werbeart setzten damit sollte die abfrage wesentlich schneller laufen.

ALTER TABLE `vms_fb_blacklist` ADD INDEX ( `kid` , `werbeart` ) ;

Sebmaster
04.04.2010, 13:46
Okay, nach einigen Experimenten mit Lokutos bin ich auf die Idee gekommen, einfach einen Index auf Werbeart und kid zu setzen:wink:

Query-Time: 0.02s:biggrin1::frusty:

Folgendes: Alle Indizes rauslöschen und dann folgenden Query:

ALTER TABLE `vms_fb_blacklist` ADD PRIMARY KEY ( `kid` , `werbeart` , `sponsor` )

marcaust
04.04.2010, 13:46
So, bin jetzt einige Stunden nicht da wegen Ostern...

Hier die Rückgabe:


id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t4 system kampagne NULL NULL NULL 0 const row not found
1 SIMPLE t1 ref klick4,crons klick4 52 const 1753 Using where; Using temporary; Using filesort
1 SIMPLE t3 index NULL sponsor 518 NULL 3517 Using where; Using index
1 SIMPLE t2 ref klick4 klick4 34 vms_system.t1.tan 2 Using where; Not exists

Sebmaster
04.04.2010, 13:50
Siehe Edit.

marcaust
04.04.2010, 13:53
War doch schon drin:



Aktion Name Typ Unique Gepackt Feld Kardinalität Kollation Null Kommentar
Bearbeiten Löschen sponsor BTREE Ja Nein
sponsor 0 A
kid 3517 A
werbeart 3517 A


oder seh ich da was falsch?

Egal, ich mach das nochmal und teste das nachher. Muss mich jetzt erstmal um meine Nichten kümmern.

Sebmaster
04.04.2010, 14:01
oder seh ich da was falsch?

Ja, die Reihenfolge ist bei Indizes immer entscheidend.

Es werden für die Geschwindigkeit nur KID und Werbeart gebraucht. Zur Verhinderung von doppelten Einträgen wird noch der Sponsor mitgenommen => Möglichkeit zu UNIQUE-Keys bzw. PRIMARYs. Da Indizes aber linkslastig sind passiert folgendes:

kid und werbeart benötigt:
Index auf:


sponsor, kid, werbeart => sponsor wird nicht benötigt, Index nicht nutzbar
kid, werbeart, sponsor => kid, werbeart nutzbar, sponsor wird ausgelassen

Deswegen ist die 2. Variante sinnvoller und schneller:wink:

marcaust
04.04.2010, 21:47
Danke für die Erklärung und Hilfe dabei.
Die geänderte Reihenfolge scheint es im Augenblick zu bringen. Ich lasse das jetzt erstmal so laufen und schau mir das mal ein paar Tage an aber so auf den ersten Blick sieht das gut aus ;-)

Sebmaster
04.04.2010, 22:35
Danke für die Erklärung und Hilfe dabei.

Gerne.


Die geänderte Reihenfolge scheint es im Augenblick zu bringen.

Freut mich zu hören:biggrin1::thumb:


Ich lasse das jetzt erstmal so laufen und schau mir das mal ein paar Tage an aber so auf den ersten Blick sieht das gut aus ;-)

Dann sollte das auch so bleiben.

@Sam2004: Probier das auch bei dir aus.:wink:

Sam2004
05.04.2010, 02:50
@Sam2004: Probier das auch bei dir aus.:wink:

Morsche...

Hab ich gemacht^^...habt ihr fein hinbekommen und mein highspeedklickbereich steht den Usern mit Adscan wieder zur verfügung...Immer wieder erstaunlich welche Qualitativ hochwertiges Team an Progger unterwegs ist und hilft...Mein Dank :hail:

:biggrin1:

Sam

Sebmaster
05.04.2010, 02:52
habt ihr fein hinbekommen und mein highspeedklickbereich steht den Usern mit Adscan wieder zur verfügung...Immer wieder erstaunlich welche Qualitativ hochwertiges Team an Progger unterwegs ist und hilft...

Naja, wenn man vorhin Schrott programmiert, muss man das wenigstens ausbessern (können):biggrin1::wink:

Sam2004
05.04.2010, 02:55
Wenn man es dann auch kann :biggrin1:

:P