0.13 Beta 1 Topic is solved
0.13 Beta 1
Mein erster Eindruck - wenige Minuten nach dem Download - das ist die absolut langsamste Version die ich jemals gesehen habe !
Nach der lokalen frischen Standard-Installation unter Xampp / Windows in eine eigene Datenbank
Erster Seitenaufruf überhaupt
Die anderen Seiten mal aufgerufen
Nach der lokalen frischen Standard-Installation unter Xampp / Windows in eine eigene Datenbank
Erster Seitenaufruf überhaupt
Die anderen Seiten mal aufgerufen
Re: 0.13 Beta 1
Wenn man die neuen Features in der config.php abschaltet (default ist true) der erhält eine Gescwhindigkeit die in etwa der Vorläuferversion entspricht.
Diese beiden Punkte auf false setzen:
$config['internal_pretty_urls'] = false;
$config['use_hierarchy'] = false;
Diese beiden Punkte auf false setzen:
$config['internal_pretty_urls'] = false;
$config['use_hierarchy'] = false;
Re: 0.13 Beta 1
Unter Linux verhält sich die CMS komplett anders.
Der Installvorgang bricht sofort ab, weil die config.php wegen fehlender Rechte NICHT erstellbar ist.
Die Geschwindigkeiten liegen in dieser Grössenordnung.
Generated in 0.277512 seconds by CMS Made Simple 0.13-beta1 (not cached) using 15 SQL queries and 4931712 bytes of memory
Generated in 0.189755 seconds by CMS Made Simple 0.13-beta1 (cached) using 11 SQL queries and 4922960 bytes of memory
Generated in 0.158086 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4829440 bytes of memory
Generated in 0.151074 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839480 bytes of memory
Die Geschwindigkeiten wurden mit dem Browser Konqueror ermittelt, Firefox ist da ca. 10% langsamer.
Die Abschaltung der neuen Features bringt unter Linux 0,02 bis 0,05 Sekunden Vorteil.
CMSMS scheint kein System zu sein, dass man unbedingt auf einen Windows Server installieren sollte.
Der Installvorgang bricht sofort ab, weil die config.php wegen fehlender Rechte NICHT erstellbar ist.
Die Geschwindigkeiten liegen in dieser Grössenordnung.
Generated in 0.277512 seconds by CMS Made Simple 0.13-beta1 (not cached) using 15 SQL queries and 4931712 bytes of memory
Generated in 0.189755 seconds by CMS Made Simple 0.13-beta1 (cached) using 11 SQL queries and 4922960 bytes of memory
Generated in 0.158086 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4829440 bytes of memory
Generated in 0.151074 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839480 bytes of memory
Die Geschwindigkeiten wurden mit dem Browser Konqueror ermittelt, Firefox ist da ca. 10% langsamer.
Die Abschaltung der neuen Features bringt unter Linux 0,02 bis 0,05 Sekunden Vorteil.
CMSMS scheint kein System zu sein, dass man unbedingt auf einen Windows Server installieren sollte.
Re: 0.13 Beta 1
Warum sollte das wichtig sein?Piratos wrote: CMSMS scheint kein System zu sein, dass man unbedingt auf einen Windows Server installieren sollte.
__/\_|\/|_|-|__ -- designer not coder
Re: 0.13 Beta 1
So wichtig wie solche neuen Hinweise This will not work with IIS .
Es gibt bei Servern schliesslich nicht nur Linux sondern unterm Strich wahrscheinlich noch mehr unter Windows.
Es gibt bei Servern schliesslich nicht nur Linux sondern unterm Strich wahrscheinlich noch mehr unter Windows.
Re: 0.13 Beta 1
Keine Ahnung was du hast Piratos: Bei mir läufts immer so um die 0.3Sekunden... www.hosner.net
Re: 0.13 Beta 1
Na ja Ted hat es verstanden (ich hatte die Geschwindigkeit als Bug gemeldet) - es gibt zwar systembedingte Unterschiede , die aber dürfen nicht so krasse Differenzen aufweisen , wenn das der Fall ist, dann ist da etwas nicht in Ordnung - Ted hat daran nun schon geschraubt.
Man muss solche Testergebnisse einfach als Ergebnis nehmen und nicht immer Gemecker vermuten - dann klappt's auch im Development.
Man muss solche Testergebnisse einfach als Ergebnis nehmen und nicht immer Gemecker vermuten - dann klappt's auch im Development.
Message:
I've modified the code so that the hierarchy url is assembled and
stored in the databse, instead of calculating it each time. This
should speed it up.
Last edited by Piratos on Sun Apr 23, 2006 8:48 am, edited 1 time in total.
Re: 0.13 Beta 1
Andere User sind übrigens auf anderen Wegen zu solchen Ergebnissen gekommen:
Somehow, this new schema makes phpDig to use 100% of processor and makes it fail most of time giving bad and fakes results while indexing.
If I put config.php parameters back to old schema (($config['internal_pretty_urls']=false and $config['use_hierarchy']=false) things start working again and phpDig work perfect. So this bug seems to be related to the new URL schema, and not to the new CMSMS beta version itself.
Re: 0.13 Beta 1-Neue Indexe sind ratsam
Wer sich etwas mit Mysql auskennt und mal einige von CMSMS benutzten SQL - Forumlierungen etwas näher unter die Lupe nimmt, der stellt fest, dass einige vorhandene Indexe nie benutzt werden und für viele andere Dinge keine Indexe vorhanden sind.
Das ist mir seit längerem bekannt .
Wer nun mal folgende Änderungen durchführt:
ALTER TABLE `cms_siteprefs` ADD PRIMARY KEY ( `sitepref_name` )
ALTER TABLE `cms_css` ADD INDEX ( `css_name` )
ALTER TABLE `cms_content` DROP INDEX `content_alias_2`
ALTER TABLE `cms_content` ADD INDEX ( `default_content` )
ALTER TABLE `cms_templates` ADD INDEX ( `template_name` )
ALTER TABLE `cms_content` ADD INDEX ( `parent_id` )
ALTER TABLE `cms_css_assoc` ADD INDEX ( `assoc_to_id` )
ALTER TABLE `cms_htmlblobs` ADD INDEX ( `htmlblob_name` )
ALTER TABLE `cms_modules` ADD INDEX ( `module_name` )
ALTER TABLE `cms_content_props` DROP INDEX `content_id`
ALTER TABLE `cms_content_props` DROP PRIMARY KEY ,
ADD INDEX ( `content_id` )
Der bekommt unter Linux dann z.B. folgende Zeiten - und das bei der mickrigen Datenmenge der Erstinstallation.
Generated in 0.13794 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4829616 bytes of memory
Generated in 0.144703 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4838336 bytes of memory
Generated in 0.137988 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839656 bytes of memory
Generated in 0.153449 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839808 bytes of memory
Generated in 0.142387 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4843776 bytes of memory
Generated in 0.139143 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4853104 bytes of memory
Generated in 0.170915 seconds by CMS Made Simple 0.13-beta1 (cached) using 12 SQL queries and 4875512 bytes of memory
Für die Fälle in der eine Seite über die ID geholt wird sollte man in class.content.inc.php diese Zeilen von:
if (is_numeric($alias) && strpos($alias,'.') === FALSE && strpos($alias,',') === FALSE) //Fix for postgres
{
$query = "SELECT * FROM ".cms_db_prefix()."content WHERE content_id = ? OR content_alias = ?";
auf
if (is_numeric($alias) && strpos($alias,'.') === FALSE && strpos($alias,',') === FALSE) //Fix for postgres
{
$query = "SELECT * FROM ".cms_db_prefix()."content WHERE content_id = ?";
ändern plus der ersten nachfolgenden
$row = &$db->GetRow($query, array($alias,$alias));
auf
$row = &$db->GetRow($query, array($alias));
Mach man das nicht, greift Mysql auf den Index für content_alias zu, was natürlich , der Logik der SQL - Formulierung total widerspricht.
Unter Windows/Xampp liegen die Zeiten dann bei ca. 0,35 Sekunden - das ist normal, da Linux so gut wie immer doppelt so schnell ist.
Zu bemerken ist, dass diese Änderungen noch mehr auf den Adminteil durchschlagen.
Grundsätzlich gilt, je mehr Seiten bzw. Inhalt, desto mehr Vorteile.
In dem Zusammanhang sei auch erwähnt, dass nicht wenige Module (die nicht mitgeliefert werden) im Zusammanheng mit SQL , aber auch Indexaufbau stark verbesserungsfähig sind.
Ich möchte noch darauf hinweisen, dass ich, was Indexe betrifft, mir hier schon den Mund franzlig geredet habe, es ist aber nichts passiert.
Nun kann jeder der will, die Änderungen selbst duchführen.
Das ist mir seit längerem bekannt .
Wer nun mal folgende Änderungen durchführt:
ALTER TABLE `cms_siteprefs` ADD PRIMARY KEY ( `sitepref_name` )
ALTER TABLE `cms_css` ADD INDEX ( `css_name` )
ALTER TABLE `cms_content` DROP INDEX `content_alias_2`
ALTER TABLE `cms_content` ADD INDEX ( `default_content` )
ALTER TABLE `cms_templates` ADD INDEX ( `template_name` )
ALTER TABLE `cms_content` ADD INDEX ( `parent_id` )
ALTER TABLE `cms_css_assoc` ADD INDEX ( `assoc_to_id` )
ALTER TABLE `cms_htmlblobs` ADD INDEX ( `htmlblob_name` )
ALTER TABLE `cms_modules` ADD INDEX ( `module_name` )
ALTER TABLE `cms_content_props` DROP INDEX `content_id`
ALTER TABLE `cms_content_props` DROP PRIMARY KEY ,
ADD INDEX ( `content_id` )
Der bekommt unter Linux dann z.B. folgende Zeiten - und das bei der mickrigen Datenmenge der Erstinstallation.
Generated in 0.13794 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4829616 bytes of memory
Generated in 0.144703 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4838336 bytes of memory
Generated in 0.137988 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839656 bytes of memory
Generated in 0.153449 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4839808 bytes of memory
Generated in 0.142387 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4843776 bytes of memory
Generated in 0.139143 seconds by CMS Made Simple 0.13-beta1 (cached) using 9 SQL queries and 4853104 bytes of memory
Generated in 0.170915 seconds by CMS Made Simple 0.13-beta1 (cached) using 12 SQL queries and 4875512 bytes of memory
Für die Fälle in der eine Seite über die ID geholt wird sollte man in class.content.inc.php diese Zeilen von:
if (is_numeric($alias) && strpos($alias,'.') === FALSE && strpos($alias,',') === FALSE) //Fix for postgres
{
$query = "SELECT * FROM ".cms_db_prefix()."content WHERE content_id = ? OR content_alias = ?";
auf
if (is_numeric($alias) && strpos($alias,'.') === FALSE && strpos($alias,',') === FALSE) //Fix for postgres
{
$query = "SELECT * FROM ".cms_db_prefix()."content WHERE content_id = ?";
ändern plus der ersten nachfolgenden
$row = &$db->GetRow($query, array($alias,$alias));
auf
$row = &$db->GetRow($query, array($alias));
Mach man das nicht, greift Mysql auf den Index für content_alias zu, was natürlich , der Logik der SQL - Formulierung total widerspricht.
Unter Windows/Xampp liegen die Zeiten dann bei ca. 0,35 Sekunden - das ist normal, da Linux so gut wie immer doppelt so schnell ist.
Zu bemerken ist, dass diese Änderungen noch mehr auf den Adminteil durchschlagen.
Grundsätzlich gilt, je mehr Seiten bzw. Inhalt, desto mehr Vorteile.
In dem Zusammanhang sei auch erwähnt, dass nicht wenige Module (die nicht mitgeliefert werden) im Zusammanheng mit SQL , aber auch Indexaufbau stark verbesserungsfähig sind.
Ich möchte noch darauf hinweisen, dass ich, was Indexe betrifft, mir hier schon den Mund franzlig geredet habe, es ist aber nichts passiert.
Nun kann jeder der will, die Änderungen selbst duchführen.
Smarty Caching grundsätzlich abschalten!
Smarty verwendet im Default kein Caching und empfiehlt denn Einsatz (siehe Handbuch) nur bei statischen Seiten.
Bei CMSMS jedoch ist Caching Standard - was völliger Unsinn ist, denn hier ist Datenbankbetrieb angesagt.
Neben den auf einem Webserver üblichen Cache und Buffers verfügt Mysql über ebenfalls einen Cache und auch über verschiedene Buffers.
Und so kommt es, dass man quasi Caching vom Caching betreibt - etwas , was von den CMSMS Developern schon immer falsch verstanden wurde.
Wer sich nun an Smarty Standard halten will sollte grundsätzlich alle Anweisungen an Smarty betreffend caching auf false setzen.
Das gilt für alle CMSMS Versionen !
Im Standard - Lieferumfang sind es die Dateien:
content.functions.php
index.php
class.module.inc.php
function.content.php
function.global_content.php
function.html_blob.php
Dort alle ->caching auf ->caching=false setzen.
Und so wird man belohnt
Unter Windows Xampp (ohne die neuen 0.13 1 Features)
Unter Linux
Generated in 0.14844 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4773920 bytes of memory
Generated in 0.142466 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4776312 bytes of memory
Generated in 0.142806 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4778928 bytes of memory
Generated in 0.140779 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4775896 bytes of memory
Generated in 0.150978 seconds by CMS Made Simple 0.13-beta1 (not cached) using 12 SQL queries and 4795184 bytes of memory -- Das ist die Seite modules
Wie man erkennen kann liegen die Zeiten regelmäßig bei 0,14XXX. und der Speicherbedarf geht runter.
Weitere Vorteile - kein Überlauf des Cache-Verzeichnisses, bzw. abwürgen des Webspaces bei geringen verfügbaren Platz wegen der vielen Cache - Dateien (alles schon passiert).
Es kann keine NoCache Errors mehr geben.
Bei CMSMS jedoch ist Caching Standard - was völliger Unsinn ist, denn hier ist Datenbankbetrieb angesagt.
Neben den auf einem Webserver üblichen Cache und Buffers verfügt Mysql über ebenfalls einen Cache und auch über verschiedene Buffers.
Und so kommt es, dass man quasi Caching vom Caching betreibt - etwas , was von den CMSMS Developern schon immer falsch verstanden wurde.
Wer sich nun an Smarty Standard halten will sollte grundsätzlich alle Anweisungen an Smarty betreffend caching auf false setzen.
Das gilt für alle CMSMS Versionen !
Im Standard - Lieferumfang sind es die Dateien:
content.functions.php
index.php
class.module.inc.php
function.content.php
function.global_content.php
function.html_blob.php
Dort alle ->caching auf ->caching=false setzen.
Und so wird man belohnt
Unter Windows Xampp (ohne die neuen 0.13 1 Features)
Unter Linux
Generated in 0.14844 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4773920 bytes of memory
Generated in 0.142466 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4776312 bytes of memory
Generated in 0.142806 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4778928 bytes of memory
Generated in 0.140779 seconds by CMS Made Simple 0.13-beta1 (not cached) using 9 SQL queries and 4775896 bytes of memory
Generated in 0.150978 seconds by CMS Made Simple 0.13-beta1 (not cached) using 12 SQL queries and 4795184 bytes of memory -- Das ist die Seite modules
Wie man erkennen kann liegen die Zeiten regelmäßig bei 0,14XXX. und der Speicherbedarf geht runter.
Weitere Vorteile - kein Überlauf des Cache-Verzeichnisses, bzw. abwürgen des Webspaces bei geringen verfügbaren Platz wegen der vielen Cache - Dateien (alles schon passiert).
Es kann keine NoCache Errors mehr geben.
Last edited by Piratos on Mon Apr 24, 2006 8:20 am, edited 1 time in total.
Aus lahme Ente schnellste CMSMS aller Zeiten
Wer sich mit PHP auskennt, der sollte die contentcache.php in eine Datenbank legen und dabei die serialize - Funktionen fallen lassen (habe ich im dev vorgeschlagen).
Im Zusammenhang mit allen anderen hier vorgeschlagenen Massnahmen erhält man die schnellste CMSMS aller Zeiten - mit Erstellungszeiten von unter 0,1 Sekunden.
Wer Kleinarbeit liebt, der muss allerdings viel tippen und in den meisten PHP - Scripten optimieren.
Es geht da um viele Kleinigkeiten wie z.B. ausmerzen von array_push usw. .
Belohnt wird er aber mit einer weiteren Steigerung der Geschwindigkeit auf regelmässig 0,07 Sekunden !! Mehr dürfte dann aus dieser CMS nicht mehr zu holen sein.
Im Prinzip sind das alles Dinge die ich im alten Projekt PW realisiert habe.
Hier als Nachtrag eine typische Optimierung:
Original
$query = "DELETE FROM ".cms_db_prefix()."css_assoc WHERE assoc_type = 'template' AND assoc_to_id = ?";
$dbresult = $db->Execute($query,array($id));
$query = "DELETE FROM ".cms_db_prefix()."templates where template_id = ?";
$dbresult = $db->Execute($query,array($id));
Optimiert
$query = "DELETE FROM ".cms_db_prefix()."css_assoc WHERE assoc_type = 'template' AND assoc_to_id = $id";
$dbresult = $db->Execute($query);
$query = "DELETE FROM ".cms_db_prefix()."templates where template_id = $id";
$dbresult = $db->Execute($query);
Wenn Werte als array - Parameter übergeben werdem, dann löst das eine gewaltige Aktion bei Adodb aus, die man sich mal ansehen sollte.
Warum übergibt man also solche Werte nicht direkt um diesen Aufwand zu verhindern.
Im Zusammenhang mit allen anderen hier vorgeschlagenen Massnahmen erhält man die schnellste CMSMS aller Zeiten - mit Erstellungszeiten von unter 0,1 Sekunden.
Wer Kleinarbeit liebt, der muss allerdings viel tippen und in den meisten PHP - Scripten optimieren.
Es geht da um viele Kleinigkeiten wie z.B. ausmerzen von array_push usw. .
Belohnt wird er aber mit einer weiteren Steigerung der Geschwindigkeit auf regelmässig 0,07 Sekunden !! Mehr dürfte dann aus dieser CMS nicht mehr zu holen sein.
Im Prinzip sind das alles Dinge die ich im alten Projekt PW realisiert habe.
Hier als Nachtrag eine typische Optimierung:
Original
$query = "DELETE FROM ".cms_db_prefix()."css_assoc WHERE assoc_type = 'template' AND assoc_to_id = ?";
$dbresult = $db->Execute($query,array($id));
$query = "DELETE FROM ".cms_db_prefix()."templates where template_id = ?";
$dbresult = $db->Execute($query,array($id));
Optimiert
$query = "DELETE FROM ".cms_db_prefix()."css_assoc WHERE assoc_type = 'template' AND assoc_to_id = $id";
$dbresult = $db->Execute($query);
$query = "DELETE FROM ".cms_db_prefix()."templates where template_id = $id";
$dbresult = $db->Execute($query);
Wenn Werte als array - Parameter übergeben werdem, dann löst das eine gewaltige Aktion bei Adodb aus, die man sich mal ansehen sollte.
Warum übergibt man also solche Werte nicht direkt um diesen Aufwand zu verhindern.
Last edited by Piratos on Mon Apr 24, 2006 9:49 am, edited 1 time in total.
Re: 0.13 Beta 1
@ochsner:
Mit Deiner Zeitangabe irrst Du Dich aber leider. Hab mir Deine CMS MS-Installation gerade mal angesehen. Beim Aufruf der Startseite:
Das Problem ist mir übrigends auch schon mit meiner eigenen Installation der letzten Stable aufgefallen. Beim ersten Aufruf der Startseite geht die Zeit drastisch in den Keller und beim Aufruf der Folgeseiten sind alle Zeiten bombig.
Gruss LeisureLarry
Mit Deiner Zeitangabe irrst Du Dich aber leider. Hab mir Deine CMS MS-Installation gerade mal angesehen. Beim Aufruf der Startseite:
Das Problem ist mir übrigends auch schon mit meiner eigenen Installation der letzten Stable aufgefallen. Beim ersten Aufruf der Startseite geht die Zeit drastisch in den Keller und beim Aufruf der Folgeseiten sind alle Zeiten bombig.
Gruss LeisureLarry
Re: 0.13 Beta 1
Vielleicht wollt Ihr dieses Problem fuer die Developers auf Englisch beschreiben?
Re: 0.13 Beta 1
Das von Ted zum Thema Indexe.Message:
I've made all of these changes (for new installs) except for the one
that changes the select from cms_content. I'm worried that it will
cause a 404 if a page alias is an integer (which there is no reason
why it can't be). I couldn't think of a quick fix around it that
would work on postgres. Thoughts?