Při analyzování výkonu jednoho webu mě zajímalo, kolik má proměnných (tzn. obsah tabulky variables + globální pole $conf nastavené v settings.php) a kolik to je přibližně v bajtech.
Použil jsem k tomu modul Devel. Ten sice sám obsahuje „Variable editor“ (velký formulář, kde je možné proměnné přímo upravit). Člověk se tam ale jednoduše nedozví počet proměnných a navíc při pokusu o přístup na tuto stránku jsem dostával PHP memory limit error…
Rychlým řešením je otevřít si v Development bloku „Execute PHP Code“ (mazáci zadávají rovnou URL /devel/php ;-)) a zadat následující kód:
<?php // Vytiskne počet proměnných // POZN: lze taky použít obyčejnou drupal_set_message() dvm(count($GLOBALS['conf'])); // Vytiskne velikost serializovaného paměti v B/KB // POZN: lze taky použít obyčejnou drupal_set_message() dvm(format_size(mb_strlen(serialize($GLOBALS['conf']), '8bit'))); // Vytiskne celé pole do rozbalovacího stromu přes knihovnu Krumo dpm($GLOBALS['conf']); // Alternativně lze použít dvm($GLOBALS['conf']); // nebo dpr($GLOBALS['conf']); // Např. pro copy-paste, nebo z důvodů úspory paměti/velikosti HTML ?>
Já „naměřil“ 8297 proměnných, velikost serializovaného pole proměnných byla 695.46 KB.
Kolik jste naměřili vy?
Poznámka: Původně vydáno na mém Drupal.cz blogu: http://www.drupal.cz/blog/wojtha/kolik-ma-instalace-drupalu-promennych
Vojtěch Kusý (známý také pod nickem wojtha). Momentálně vedoucí vývoje v 
Používám opravdu hodně modulů
Používám opravdu hodně modulů (http://peace.jecool.net/bordel/moduly.png)
naměřil sem:
int(1122)
string(7) "87.7 KB"
je to dobře nebo špatně?Podle vašich hodnot nejspíš dobře. V tom případě by mě zajímalo, jakto, že jste naměřil tolik, případně kde byl problém
To je v pohodě :-)
Problém s tím webem, který jsem uváděl v blogpostu byl ten, že ten člověk zkoušel hodně modulů, ale vždy je jen vypnul, ale neodinstaloval.
Koukal jsem i na moduly, a těch modulů je sice dost, ale nezdálo se mi, že by jich bylo zbytečně moc. Velký web prostě implikuje hodně modulů.
Počet modulů je takový trochu strašák. Je potřeba s tím akorát umět zacházet. To strašení má zabránit nováčkům, aby propadli šílenství (jeee na Drupal.org je 6000+ modulů a všechny jsou zadara!) a do webu s blogem a kontaktním formulářem si nainstalovali naráz 200 modulů, protože měli cool jméno a možná se budou někdy hodit...
Drupal nemá problém uhostovat téměř cokoliv, lze ho dobře škálovat, ale od určité velikosti a požadovaného výkonu potřebuje podporu infrastruktury. Díky architektuře Drupalu nastává tento "bod" o dost dříve než u konkurenčních CMS z velké trojky (Drupal, Wordpress a Joomla). Nastavení takové infrastruktury vyžaduje zcela jinou úroveň znalostí než "umím používat FTP a naklikám vám v CCK a Views co si budete přát" a kromě toho to znamená také konec na sdíleném hostingu a vlastní server... popřípadě nějakou profesionální Drupal hostingovou službu - náklady o řád až dva někde jinde,
Proto ten důraz na šetření s moduly. Každý modul "si ukradne alespoň trochu výkonu" byť se nepoužívá. (To neplatí když je se servíruje komplet nakešovaná stránka - např. pro anonymního uživatele.
Na produkčním webu doporučuju vypnout všechny moduly, které nejsou nutné pro standardní běh Drupalu a používají se jen při ladění - např. Devel, Views UI, ImageCache UI, v Admin menu (http://drupal.org/project/admin_menu) je na to dokonce přímo shortcut - Enable/Disable developer modules.