Adminbereich bis 15 MB in der Spitze

Deutschsprachiger Support für CMS Made Simple
Post Reply
Piratos

Adminbereich bis 15 MB in der Spitze

Post by Piratos »

So einige haben sich ja schon beklagt, dass der Adminbereich so langsam ist.
Er kann total in der Spitze bis 15 MB schlucken.
Sind da mehrere Personen im Adminbereich hat das Auswirkungen auf den Userbereich, dem wird nämlich der Speicher geklaut.

Als erstes haben wir da das separate Scripte style.php - praktisch das Gegenstück der bekannten stylesheet.php - das holt sich wieder über die include.php 3/4 der ganzen CMS Software rein, schluckt ebenfalls 3,5 MB und das nur um paar kümmerliche Admin-Css darzustellen.

Der nächste Kandidat ist preview.php - ähnliches Thema. Nicht genug das sich der Adminbereich die style.php reinpfeift, preview schluckt über include.php über 3,5 MB und zieht sich dann nochmals die style.php rein.

Also das ist ein Thema das muss dringend gelöst werden.

Man mag die CMS ja garnicht als Lösung für verschiedene User anbieten, die gleichzeitig da rumwursteln - die blockieren ja alles.
Piratos

Re: Adminbereich bis 15 MB in der Spitze

Post by Piratos »

bei der style.php besteht die Notwendigkeit der Einbindung des Speicherfressers  include.php nur, weil man sich ein Theme im Adminbereich aussuchen kann. das aber ist nur theoretisch, denn es gibt keine Wahlmöglichkeit.

Diese style.php spart mächtig, vebruzzelt noch nicht einmal 5KB - kopieren und im admin ordner als style.php ablegen:

Code: Select all

<?php

if(isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT']))
{
	@ini_set( 'zlib.output_compression','Off' );
}
header("Content-type: text/css");
$theme="default";
$style="style";
if (isset($_GET['ie']))
    {
    $style.="_ie";
    }
$style .= ".css";
if (file_exists(dirname(__FILE__)."/themes/".$theme."/css/".$style))
	{
	readfile(dirname(__FILE__)."/themes/".$theme."/css/".$style);
	}
else if (file_exists(dirname(__FILE__)."/themes/default/css/".$style))
	{
	readfile(dirname(__FILE__)."/themes/default/css/".$style);
}
# vim:ts=4 sw=4 noet
?>
Piratos

Re: Adminbereich bis 15 MB in der Spitze

Post by Piratos »

Was wird eigentlich alles mit der include.php geladen ?

test.php  - Name des Testscriptes um include.php einzubinden:

In der nachfolgenden Liste fehlen Dateien die nicht auf .php enden.

include.php
fileloc.php
lib\misc.functions.php
lib\classes\class.global.inc.php
version.php
lib\config.functions.php
config.php
lib\smarty\Smarty.class.php
lib\adodb_lite\adodb.inc.php
lib\page.functions.php
lib\content.functions.php
lib\classes\class.pageinfo.inc.php
lib\classes\class.content.inc.php
lib\classes\class.module.inc.php
lib\classes\class.user.inc.php
lib\classes\class.htmlblob.inc.php
lib\classes\class.template.inc.php
lib\classes\class.stylesheet.inc.php
lib\classes\class.contentnode.inc.php
lib\classes\class.contenthierarchymanager.inc.php
lib\translation.functions.php
lib\classes\class.bookmark.inc.php
lib\classes\class.group.inc.php
lib\adodb_lite\adodb.config.php
lib\adodb_lite\adodbSQL_drivers\postgres7\postgres7_driver.inc
lib\adodb_lite\adodbSQL_drivers\postgres7\postgres7_date_module.inc
lib\adodb_lite\adodb-time.inc.php
lib\adodb_lite\adodbSQL_drivers\postgres7\postgres7_cmsms_module.inc
lib\adodb_lite\generic_modules\pear_module.inc
plugins\postfilter.postcompilefunc.php
plugins\prefilter.precompilefunc.php
lib\contenttypes\Content.inc.php
lib\contenttypes\Link.inc.php
lib\contenttypes\SectionHeader.inc.php
lib\contenttypes\Separator.inc.php
modules\CMSMailer\CMSMailer.module.php
modules\CMSMailer\phpmailer\class.phpmailer.php
modules\FCKeditorX\FCKeditorX.module.php
modules\FCKeditorX\lang\en_US.php
modules\FeedbackForm\FeedbackForm.module.php
modules\FeedbackForm\classes\UtilityFunctions.class.php
modules\FeedbackForm\classes\Form.class.php
modules\FeedbackForm\classes\Input.class.php
modules\FeedbackForm\classes\Option.class.php
modules\FeedbackForm\classes\Config.class.php
modules\Kalender\Kalender.module.php
modules\MenuManager\MenuManager.module.php
modules\MenuManager\lang\en_US.php
modules\ModuleMaker\ModuleMaker.module.php
modules\News\News.module.php
modules\News\lang\en_US.php
modules\ThemeManager\ThemeManager.module.php

Man kann klar erkennen, dass bestimmte Scripte an dieser Stelle nicht geladen werden dürften.
Was hat haben z.B. die geladenen Module in der Stylesheet.php zu suchen oder bookmarks oder die Userverwaltung
und und und  --- natürlich nichts.

Was haben die Module hier zu suchen, wenn sie lediglich für den Besucher bis auf den Menumanager  nicht sichtbart und erreichbar sind, da die Module zwar installiert und aktiv sind, es aber keinen einzigen Inhalt gibt, der für den besucher sichtbar wäre.

Das sind Strukturprobleme - man sollte nicht alles in eine include.php hauen sondern in einer feineren Abstimmung mehrere Dateien machen.
Man sollte zudem Admincode und Besuchercode trennen.
cyberman

Re: Adminbereich bis 15 MB in der Spitze

Post by cyberman »

Besten Dank für das Script.

Das Problem geht IMHO sogar noch ein Stückchen weiter - ich hatte mal einen Fehler im FCK-Modul, also einem Modul, was zur normalen Anzeige der HP gar nicht benötigt wird. Trotzdem erschein auf der HP nur eine Fehlermeldung  - da hatte der Adminbereich die gesamte HP runtergezogen ??? ::) ...
Piratos

Re: Adminbereich bis 15 MB in der Spitze

Post by Piratos »

Das Thema ist eigentlich das, was mich bewegt hat , das alte Projekt PW einzustellen.
Das includen von PHP - Scripten ist so unübersichtich geworden, dass man in sehr vielen Fällen man durch Aufruf von Scripten aus diversen anderen Scripten insgesamt auf die grobe Gesamtmenge aller Scripte kommt - also klarer Fall von Strukturfehlern.

Wer mal sehen will, welche Scripte insgesamt am laufen sind, der hänge nur immer am Ende folgende Anweisung ran, das zerfleddert zwar die Optik, aber es ist ja nur ein Check:

Code: Select all

$a=get_required_files();
foreach ($a as $one) echo $one."<br />\n";
und da fragt man sich wirklich was man in bestimmten Situationen damit soll.

Stylesheet.php und styles.php verbraten allein nur über die include.php immer rund 3.5 MB.

Das bedeutet im Normalfall z.B. für einen User im Adminbereich:

3,5 MB  Standard
+ 3,5 MB    styles.php beim preview
+3,5 MB    stylessheet beim preview

also 10,5 MB allein nur um dann die dämlichen CSS zu holen plus natürlich alles was CMS und Admin sonst noch so benötigt.

Und ..  der Speicherverbrauch und die Zeit ist nicht sichtbar, da es sich um separate Scripte handelt, die in die Zeitmessung der CMS  nicht einläuft.

Das ist also eine Situation die nicht gut ist.
Post Reply

Return to “German - Deutsch”