Speed Up Color Group Mod mit Cache

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Dann ist aus irgend einem grund die Variable $user_id nicht gefüllt.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Lattenknaller
Beiträge: 43
Registriert: Mi 08.Jun, 2005 17:36

Beitrag von Lattenknaller »

Mein Testportal (orion 2.35) hat ohne cache 147 Abfragen und läd 1,0 sec.
Nun das erstaunliche: mit dem cache hab ich nur 36 sql Querys aber die Seite braucht 2,2 sec zum Laden. Ist das möglich? Und normal? Eigentlich sollte der Cache das doch beschleunigen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nimm den Cache raus.
Das Orion ist bereits weit optimiert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
BIGMule
Beiträge: 31
Registriert: Di 04.Jan, 2005 21:58

Beitrag von BIGMule »

Beim Color Groups Mod v1.2.1 funktioniert das hier mit dem Cachen nicht glaube ich. Oder habe ich das falsch verstanden. Gibt es da schon einen Mod oder was könnt ihr mir empfehlen um die Querries zu veringern.

Fehler:

Code: Alles auswählen

Could not get username for new registered user 

DEBUG MODE 


SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2 


SELECT username FROM phpbb_users WHERE user_id = 


Line : 371 
File : functions_color_groups.php
Zuletzt geändert von BIGMule am Mi 29.Nov, 2006 17:39, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Richtig, der Cache ist nur für die Vorgängerversion gedacht.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
BIGMule
Beiträge: 31
Registriert: Di 04.Jan, 2005 21:58

Beitrag von BIGMule »

Schade, dann muss ich den anderen weiterbenutzen. Die Vorgängerversion mit functions_color_groups.php und common.php zum editieren. :)
Zuletzt geändert von BIGMule am Mi 29.Nov, 2006 20:25, insgesamt 1-mal geändert.
BIGMule
Beiträge: 31
Registriert: Di 04.Jan, 2005 21:58

Beitrag von BIGMule »

Hallo,

Habe die Original Codes in der functions_color_groups.php mit diesen hier getauscht. Jetzt werden alle Usernamen z.B. index.php, memberlist.php, groups.php dünn angezeigt, vorher wurde alles in Fettschrift angezeigt. Was ist hier anderst als bei den Original Codes. Was mudd ich hinzufügen damit die Usernamen wieder in Fettschrift angezeigt werden.

Code: Alles auswählen

function color_group_colorize_name($user_id, $no_profile = false) 
{ 
   global $board_config, $phpEx, $db, $phpbb_root_path, $colorusers, $coloruname, $colorgroup; 
    
   // First see if the user is Anon 
   if ($user_id != ANONYMOUS) 
   { 
      $username = $coloruname[$user_id]; 
      if ( $colorusers[$user_id] != 0 ) 
      { 
         // Get the user info and see if they are assigned a color_group // 
         $sql = 'SELECT u.user_color_group, u.username, c.* FROM ' . USERS_TABLE . ' u, ' . COLOR_GROUPS_TABLE . " c 
            WHERE u.user_id = $user_id 
            AND u.user_color_group = c.group_id"; 
         $result = $db->sql_query($sql); 
         $row = $db->sql_fetchrow($result); 

      } 
       
      if (isset($row['group_color'])) 
      { 
         // WE found the highest level color, head out now // 
         $style_color = 'style="font-weight:bold;color:' . $row['group_color'] . '"'; 
      } 
      else 
      { 
         if ( in_array($user_id, $colorgroup) ) 
         { 
            // Now start looking for user group memberships // 
            $sql = 'SELECT c.* FROM ' . USER_GROUP_TABLE . ' ug, ' . USERS_TABLE . ' u, ' . COLOR_GROUPS_TABLE . ' c, ' . GROUPS_TABLE . ' g 
               WHERE ug.user_id = ' . $user_id . ' 
               AND u.user_id = ug.user_id 
               AND ug.group_id = g.group_id 
               AND g.group_color_group = c.group_id 
               AND g.group_single_user = 0'; 
            //print $sql; 
               $result = $db->sql_query($sql); 
               $curr = 10000000000000; 
               $style_color = ''; 
               while ($row = $db->sql_fetchrow($result)) 
               { 
                  // If our new group in the list is a higher order number, it's color takes precedence // 
                  if ($row['order_num'] < $curr) 
                  { 
                     $curr = $row['order_num']; 
                     $style_color = 'style="font-weight:bold;color:' . $row['group_color'] . '"'; 
                  } 
               } 
         } 
      } 
       
      // Make the profile link or no and return it // 
      if ($no_profile) 
      { 
         $user_link = "<span $style_color>$username</span>"; 
      } 
      else 
      { 
         $user_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id") . '"' . $style_color .'>' . $username . '</a>'; 
      } 
      return($user_link); 
   } 
   else 
   { 
      $username = $coloruname[$user_id]; 
      if ($no_profile) 
      { 
         $user_link = "<span $style_color>$username</span>"; 
      } 
      else 
      { 
         $user_link = '<a href="' . append_sid($phpbb_root_path."profile.php?mode=viewprofile&" . POST_USERS_URL . "=$user_id") . '"' . $style_color .'>' . $username . '</a>'; 
      } 
      return $username; 
   } 
}
Zuletzt geändert von BIGMule am Sa 02.Dez, 2006 18:58, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Such mal nach $username und trag da jeweils <b> davor und </b> danach ein (aufpassen: immer direct vor oder nach dem style-Tag!).
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Rambo
Beiträge: 12
Registriert: Do 22.Nov, 2007 18:37

Beitrag von Rambo »

wie Aktuel ist das Mod, ist das für den aktuelen Color groups Mod geeignet.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

[quote="Rambo";p="79391"]wie Aktuel ist das Mod, ist das für den aktuelen Color groups Mod geeignet.[/quote]
Nein.
Die neueste Version braucht dieses Add-On aber auch nicht, da sie selber einen Cache beinhaltet.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Wawanee
Beiträge: 1
Registriert: So 30.Dez, 2007 22:44

Beitrag von Wawanee »

Ich habe leider die Erfahrung gemacht, dass der Color Groups Mod in der Version 1.2.1 trotz des Caches bei großen Boards ein absolutes Problem für den Server werden kann.

Ein guter Freund von mir hat diese 1.2.1er Version des Color Groups Mod in sein Board eingebaut (fast 15000 User, weit über 150000 Beiträge, 4000 bis 5000 registrierte User täglich am Board). In Zeiten mit hohen Zugriffen zwingt das Board (das deswegen schon alleine auf einem eigenen Server gehostet wird) diesen massivst in die Knie.

Meine Beobachtungen zeigen, dass sich hier der für Cache verwendete Arbeitsspeicher massiv aufbläht und von den 2 GB bald 80% verwendet.

Es stellt sich mir die Frage, ob nicht die von Oxpus programmierte Variante mit dem Cache in Textfileform, die bessere ist, als die aus der 1.2.1er Version.

Was glaubt Ihr Experten?

Bye

Wawa
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die beiden geben sich nichts, sind bei der Masse an User und Posts aber beide langsam.
Empfehlen kann ich diesen hier: http://www.oxpus.de/downloads.php?view=detail&df_id=350
Wenn gleich die Verwaltung und Zuteilung der Farben etwas eigen gedacht ist, aber ohne zusätzliche Queries funktioniert!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten