Antworten: 8
Seite [1] |
|
Mario Just nerd Beiträge: 934 |
# Thema - 27.03.2009 um 20:22 Uhr
Hallo leute, hab da mal ne frage. Ist das cmos Clansphere zu kompliziert/aufwendig gecodet? Denn ich habe ja heute geupdatet, und meine Page down gehabt. Somit habe ich sie um 19:30 Uhr Online gestellt, und es sind gleich in 5 min 300 User (laut Statistik) online gewesen. Dann ist mir und Schiri aufgefallen das die site verdammt lange geladen wird. Somit habe ich mir gedacht ich Ruf mal bei meinem Hoster an. Dieser hat sich das alles mal angeschaut, und meinte allein auf der Newsseite werden verdammt viele kleine abfragen die Datenbank geschickt. Im Klartext meinte er das cmos welches ich verwende ist zu aufwendig gecodet. Schiri hat sich mal die abfragen angeschaut und hat 35 abfragen auf der Newsseite gezählt !!! Ich will jetzt nicht sagen das CSP sch**** ist oder so was. Will das nur mal ansprechen weil es mich schon sehr interessiert. ------------------ |
Inaktiv |
|
hajo VIP - Poster Herkunft: Barsbüttel Beiträge: 9411 |
# Antwort: 1 - 27.03.2009 um 20:27 Uhr
clansphere arbeitet seit 2009.0 an neuen stellen mit caching und wir erweitern diese laufend. 35 queries für eine simple auflistung von news kann ich mir allerdings nicht vorstellen, da müssen noch viele nav elemente mit im spiel sein wie z.b. counter ------------------ ClanSphere - professional clan care starts here |
Inaktiv |
|
SCHIRI Weltmeister Herkunft: Hamburg Beiträge: 5299 |
# Antwort: 2 - 27.03.2009 um 20:28 Uhr
/hp/aq/aa/ip/www/ls08/system/core/account.php 1) SELECT users_id, users_nick, users_lang, access_id, users_limit, users_view, users_timezone, users_dstime, users_ajax, users_tpl, users_pwd FROM cs_users WHERE users_id = '13469' AND users_pwd = '***CENSORED***' AND users_active = 1 LIMIT 0,1 2) UPDATE cs_users SET users_laston='1238178314' WHERE users_id='13469' 3) SELECT * FROM cs_access WHERE access_id = 5 LIMIT 0,1 /hp/aq/aa/ip/www/ls08/system/runstartup/count.php 4) SELECT count_id, count_time FROM cs_count WHERE count_ip = '85.179.111.75' ORDER BY count_id DESC LIMIT 0,1 5) UPDATE cs_count SET count_time='1238178314', count_location='news/recent' WHERE count_id='560755' /hp/aq/aa/ip/www/ls08/mods/news/recent.php 6) SELECT * FROM cs_categories WHERE categories_mod = 'news' AND categories_access <= 5 ORDER BY categories_name 7) SELECT COUNT(DISTINCT news_id) FROM cs_news nws INNER JOIN cs_categories cat ON nws.categories_id = cat.categories_id WHERE nws.news_public > 0 AND cat.categories_access <= 5 8) SELECT nws.news_id AS news_id, nws.news_headline AS news_headline, nws.news_time AS news_time, nws.news_text AS news_text, nws.news_pictures AS news_pictures, nws.users_id AS users_id, usr.users_nick AS users_nick, usr.users_active AS users_active, usr.users_delete AS users_delete, nws.categories_id AS categories_id, cat.categories_picture AS categories_picture, cat.categories_name AS categories_name, nws.news_mirror AS news_mirror, nws.news_mirror_name AS news_mirror_name, nws.news_readmore AS news_readmore, nws.news_readmore_active AS news_readmore_active FROM cs_news nws INNER JOIN cs_users usr ON nws.users_id = usr.users_id INNER JOIN cs_categories cat ON nws.categories_id = cat.categories_id WHERE nws.news_public > 0 AND cat.categories_access <= 5 ORDER BY news_attached DESC, news_time DESC LIMIT 0,8 10) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 36 11) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 35 12) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 34 13) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 33 14) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 31 15) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 30 16) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 28 17) SELECT COUNT(*) FROM cs_comments WHERE comments_mod = 'news' AND comments_fid = 27 /hp/aq/aa/ip/www/ls08/system/core/abcode.php 9) SELECT abcode_func, abcode_pattern, abcode_result, abcode_file FROM cs_abcode /hp/aq/aa/ip/www/ls08/mods/clansphere/navmeta.php 18) SELECT metatags_id, metatags_name, metatags_content FROM cs_metatags WHERE metatags_active = 1 ORDER BY metatags_name /hp/aq/aa/ip/www/ls08/mods/events/navcal.php 19) SELECT users_age FROM cs_users WHERE users_age LIKE '%-03-%' AND users_hidden NOT LIKE '%users_age%' 20) SELECT evs.events_time AS events_time FROM cs_events evs INNER JOIN cs_categories cat ON evs.categories_id = cat.categories_id WHERE events_time >= '1235865600' AND events_time <= '1238543999' AND cat.categories_access <= 5 /hp/aq/aa/ip/www/ls08/mods/count/navone.php 21) SELECT COUNT(*) FROM cs_count WHERE count_time > '1238178017' /hp/aq/aa/ip/www/ls08/mods/count/navday.php 22) SELECT COUNT(*) FROM cs_count WHERE count_time > '1238104800' /hp/aq/aa/ip/www/ls08/mods/count/navmon.php 23) SELECT COUNT(*) FROM cs_count WHERE count_time > '1235858400' /hp/aq/aa/ip/www/ls08/mods/count/navall.php 24) SELECT count_num FROM cs_count_archiv 25) SELECT COUNT(*) FROM cs_count /hp/aq/aa/ip/www/ls08/mods/users/navlogin.php 26) SELECT COUNT(*) FROM cs_messages WHERE users_id_to = '13469' AND messages_show_receiver = 1 AND messages_view = 0 27) SELECT COUNT(*) FROM cs_mail WHERE mail_answered = 0 /hp/aq/aa/ip/www/ls08/mods/wars/navlist.php 28) SELECT war.games_id AS games_id, cln.clans_short AS clans_short, war.wars_score1 AS wars_score1, war.wars_score2 AS wars_score2, war.wars_id AS wars_id FROM cs_wars war INNER JOIN cs_categories cat ON war.categories_id = cat.categories_id INNER JOIN cs_clans cln ON war.clans_id = cln.clans_id WHERE war.wars_status = 'played' ORDER BY war.wars_date DESC LIMIT 0,4 /hp/aq/aa/ip/www/ls08/mods/wars/navnext.php 29) SELECT war.games_id AS games_id, war.wars_date AS wars_date, sqd.squads_name AS squads_name, cln.clans_name AS clans_name, war.wars_id AS wars_id FROM cs_wars war INNER JOIN cs_squads sqd ON war.squads_id = sqd.squads_id INNER JOIN cs_clans cln ON war.clans_id = cln.clans_id WHERE war.wars_date > '1238178321' AND war.wars_status = 'upcoming' ORDER BY war.wars_date ASC LIMIT 0,4 /hp/aq/aa/ip/www/ls08/mods/banners/navlist.php 30) SELECT banners_picture, banners_alt, banners_url FROM cs_banners ORDER BY banners_order ASC /hp/aq/aa/ip/www/ls08/mods/votes/navlist.php 31) SELECT votes_id, votes_question, votes_election, votes_several FROM cs_votes WHERE votes_access <= '5' AND votes_start <= '1238178321' AND votes_end >= '1238178321' ORDER BY RAND() LIMIT 0,1 32) SELECT COUNT(*) FROM cs_voted WHERE voted_mod = 'votes' AND voted_fid = '7' AND users_id = '13469' 33) SELECT voted_id, users_id, voted_ip, voted_answer FROM cs_voted WHERE voted_fid = '7' AND voted_mod = 'votes' Das sind seine QUerys für den aufruf der index.php ohne parameter. (rot = eindueitg auffallend sinnlose querys) ------------------ www.laszlokorte.de Zuletzt editiert von hajo am 28.03.2009 um 02:18 Uhr (2x Editiert) |
Inaktiv |
|
Micha.09 Specialist Herkunft: Dortmund Beiträge: 2860 |
# Antwort: 3 - 28.03.2009 um 02:09 Uhr
Ja aber hajo hat recht es werden auch sehr viele navlisten geladen. |
Inaktiv |
|
duRiel Weltmeister Herkunft: Cambridge Beiträge: 7300 |
# Antwort: 4 - 28.03.2009 um 02:14 Uhr
mit "kompliziert gecodet" hat die anzahl der queries nicht wirklich etwas zu tun. und die anzahl der queries hat sich von 2008.2.1 zu 2009.0 verringert. ich habe genau das von dir angesprochene problem ebenfalls gesehen und deshalb mit sql caching angefangen. das lässt sich auch noch weiter optimieren, ist aber bereits auf einem vertretbaren stand. schiri: warum sollen die rot markierten "eindeutig auffallend sinnlos" sein? |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 5 - 28.03.2009 um 02:15 Uhr
Schiri, loesch mal den md5 von passwort... Dafuer gibts cracker datenbanken die sowas aufnehmen und bewaren... Und die comments queries einfach gleich zusammen nehmen in ein where fid in (x,y,z,...) Metatags koennten auch leicht gecached werden... Zuletzt editiert von Mindcrime am 28.03.2009 um 02:18 Uhr (2x Editiert) |
Inaktiv |
|
hajo VIP - Poster Herkunft: Barsbüttel Beiträge: 9411 |
# Antwort: 6 - 28.03.2009 um 02:19 Uhr
md5 hash hab ich mal für ihn getarnt das mit IN ist ne gute idee @ mind, nur muss man das ergebnis dann ja wieder als array aufteilen, also mit group by oder having arbeiten ------------------ ClanSphere - professional clan care starts here Zuletzt editiert von hajo am 28.03.2009 um 02:19 Uhr (1x Editiert) |
Inaktiv |
|
duRiel Weltmeister Herkunft: Cambridge Beiträge: 7300 |
# Antwort: 7 - 28.03.2009 um 02:26 Uhr
dadurch werden die abfragen eben wieder komplizierter. werde ich testen, aber oft sind mehrere einfache count queries schneller als etwas kompliziertere selects. |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 8 - 28.03.2009 um 02:30 Uhr
Haengt von datenbank, indexes und noch einige faktoren ab, wie der anzahl record in die tabelle... Aber normal ist ein IN schneller dan einzelne queries weil der datenbank sowas intern wie eine art mehrfacher select query (aber viel schneller wie alles einzeln) macht... EXPLAIN hilft manchmal aus um zu wissen was besser ist, in diesen fall sollte der interne engine meinstens immer schneller mit IN sein, weil der IN in diesen fall kein komplizierter select ist... |
Inaktiv |
|
Antworten: 8
Seite [1] |
Sie müssen sich registrieren, um zu antworten. |