Hogyan fogyaszthatna kevesebb memóriát a Drupal?

Kocsis Kata képe

Sziasztok!

A szolgáltatóm jelezte, hogy amióta elkezdtem kisded játékaimat a Drupal-os oldalammal, azóta jelentősen nőtt a memóriafogyasztás.

Mivel tanulok, viszonylag sok modult letöltöttem, próbálkozom. Ami mindenképpen fog kelleni a későbbiekben is, az a Views, Imagefield, Imagecache, esetleg Panels. A sok modul nálam olyan 20-30-at jelent (a képkezelés különböző lehetőségeivel próbálkoztam például). 20 kép, 30 modul, max. 50 beküldött tartalom és 4 felhasználó az eddigi mérleg :) Ha esetleg az lenne a végkövetkeztetés, hogy komolytalan a szolgáltató, akkor is érdekelne most már, hogy:

Van valamilyen paraméterezési lehetőségem, hogy kevesebb memóriát fogyasszak? MySql adabázis optimalizáció vagy bármilyen ráolvasás? Apache szerver megfelelő konfigurációja? (bár ezen szerintem a szolgáltatónak kéne gondolkodnia).

K.

Drupal verzió: 
pp képe

Ne a szolgáltatódnál kísérletezz, hanem egy helyi fejlesztőkörnyezeten.

2
0
nevergone képe

Ami több okból is ajánlott:

  • Ha valamit elhibázol, csak neked jelenik meg. (Mondjuk nem tudod publikusan demózni a hibát)
  • Ha olyan dolgot csinálsz, ami nagyobb változással jár, akkor mentés előtte (adatbázis vagy adatbázis+fájlrendszer, „drush arb” segít) és ha nem sikeres, akkor egyszerűen csak visszapakolod a mentést
  • Olyan dolgokat is kipróbálhatsz, amiket az élesen nem lenne szerencsés. (lásd előző pont, gondolom az éles oldal indulása után is szeretnél még dolgozni rajta)
  • Szükség esetén olyan eszközöket is használhatsz, amelyeket az élesen nem lenne szerencsés, pl. Devel modul
0
0
Illyés Edit képe

Nyilvános az oldal? Akkor a gyorstárazást (Teljesítmény oldalon) mindenképpen érdemes bekapcsolva tartani. Keresők vagy emailcím-gyűjtő spammerek robotjai egy egyébként alig látogatott oldalt is nagyon le tudnak terhelni.

Ha be van kapcsolva a gyorstár, akkor viszont jó lenne tudni, mégis mire alapozza a szolgáltató, hogy a szerveren lévő X számú honlap közül pont a tied okozza a gondot.

0
0
eager képe

Több modulnak is van "development üzemmódja" - olyan, amit azért aktiválhatsz, hogy pont az ilyen kísérletezések eredményeit azonnal nyomon tudd követni.

Devel modulnak és Zen sminknek pl. van olyan beállítása, hogy minden oldalletöltéskor újraépíti a theme registry-t, borzalmas erőforrásigényessé válhat ettől a rendszer. A less css-t megvalósító modulnak is van ilyen less registry-t (vagy ilyesmit) minduntalan újraépítő üzemmódja, és még számtalan másiknak is lehet ilyen.

Ha ilyen beállítást alkalmazol, annak kikapcsolására úgyis minduntalan emlékeztet a rendszer (már ha a sminkedben megjelenítésre kerülnek az értesítések - te pedig nem kapcsoltad ki őket).

Ha kikapcsolod a Views UI modult (ami a grafikus (kattintós) felületet adja) az csökkentheti a fogyasztást. Ugyanez él emlékeim szerint a Context modul grafikus beállítófelületére is (nyilván akkor kapcsolja ki ezeket a fejlesztő, ha minden beállítást elvégzett (és már nem is kísérletezget tovább) és lezsírozva teszi a webhelyet productionba).

Panelst nem ismerem, de simán el tudom képzelni, hogy ott is lehet valamilyen a fentiekhez hasonló jelenséget és opciót találni.

Szóval amíg ismerkedsz a rendszerrel, addig az a fenti okokból kifolyólag szerintem mindenképp többet fog fogyasztani...

0
0
pp képe

Most, hogy felállítottad a tesztkörnyezetedet, kanyarodjunk vissza ez eredeti témához. :)

A hogyan fogyasszon kevesebb memóriát kérdésre csak így egyszerűen nem lehet válaszolni, hisz a memória(vagy egyéb erőforrás) fogyasztás nem a Drupaltól függ elsősorban, hanem annak beállításaitól és használati módjától.

Amint ismert a feladat el lehet kezdeni keresni azokat a pontokat amik a leginkább befolyásolják a rendszert és ott elkezdeni faragni rajta. Amíg nem ismert nem nagyon lehet tanácsot adni.

Magát a Drupalt megfelelő modulokkal be lehet úgy állítani, hogy ne fogyasszon több memóriát mintha statikus fájlokat kéne kiszolgálnia a webszervernek, de pl. az aggregator és poormanscron modulok megfelelő verziójával olyan rendszer is összeállítható amely bármennyi erőforrást el tud fogyasztani.

Szóval a 0 és 100% között mozog annak az aránya, hogy egy rendszer terheléséért mennyire a Drupal felel.

Ha érdekel a téma akkor ajánlom pl. Rasmus Lendorf előadásait a témában:
http://about.digg.com/blog/rasmus-lerdorf-php-performance

pp

1
0
aries képe

„Magát a Drupalt megfelelő modulokkal be lehet úgy állítani, hogy ne fogyasszon több memóriát mintha statikus fájlokat kéne kiszolgálnia a webszervernek.”

Bár így lenne...

0
0
pp képe

A használati módjától – vagyis a feladattól – is függ a teljesítmény igény, mint fentebb írtam.

Épp most vezetünk be több cégnél egy olyan Drupal alkalmazást, amivel egy nagy halmaz statikus htmlt tudsz gyártani, a Drupal rendszert pusztán csak a szerkesztésre használjuk. Ebben az esetben ténylegesen semmivel nem eszik több erőforrást az oldal.

Nyilván egy ivivet, vagy egy arckönyvet nem fogsz így megcsinálni.

A hozzászólásom lényege nem is ez volt, hanem az, hogy nincs általános recept. Ami valakinek használ az valakinek árthat.

pp

0
0
silversk8r képe

mihez képest nőtt jelentősen a memóriafogyasztás? ha a Drupal előtt pl. egy statikus weblapod volt akkor ez teljesen rendben van, és figyelmen kívül hagyhatod a szolgáltató üzenetét. Mert ugye nem azt mondja, hogy iszonyatosan nagy a memóriafogyasztás, hanem csak jelentősen megnőtt. ami nem feltétlenül baj.

1
0
eager képe

http://drupal.org/project/fast_404

Az első bekezdésből már kiderül.

0
0