- EN:woof
- ES:guau
- EL:γαβ
Το Drupal όσων αφορά τον κώδικά του αποτελεί παράδειγμα προς μίμηση μιας και οι αυστηρές προδιαγραφές της κοινότητας έχουν επιτύχει να είναι σήμερα από τα πιο προσεγμένα και εξελιγμένα τεχνολογικά παραδείγματα. Το Drupal κάνει εκτενή χρήση της βάσης δεδομένων, είναι κρίσιμης σημασίας να υπάρχουν τεχνικές caching των ερωτημάτων, καθώς επίσης ένας MySQL server ικανός να επεξεργάζεται πολύ γρήγορα τα ερωτήματα-queries. Κάτι τέτοιο επιτυγχάνεται αφενός με την χρήση των προαναφερθέντων τεχνολογιών (που συμβάλλουν στην γρηγορότερη εκτέλεση της εφαρμογής - PHP) καθώς επίσης και μέσω MySQL tuning.Οι απαιτήσεις ξεκινούν από το ελάχιστο:
Οι προτεινόμενες ρυθμίσεις για την PHP είναι:
session.cache_limiter = nocache
session.auto_start = 0
allow_url_fopen = off
magic_quotes_gpc = off
register_globals = off
display_errors = Off
Ως γνωστόν η PHP είναι μια δυναμική γλώσσα και μπορεί να οδηγήσει σε αρκετό φόρτο στην CPU. Υπάρχουν πολλές λύσεις και τεχνικές opcode caching (που μετατρέπουν τα αρχεία PHP σε εκτελέσιμα αρχεία που τρέχουν απευθείας από την μνήμη RAM) το πιο διαδεδομένο και σταθερό είναι το APC. Επίσης θα πρέπει να είναι ενεργοποιημένο το PDO extension για σύνδεση με τη βάση δεδομένων (επιπλέον κατά προτίμηση μέσω mysqli).
Όπως αναφέραμε (1) η ελάχιστη μνήμη που απαιτείται είναι 32MB. Στην περίπτωση που γίνεται χρήση του ImageAPI GD, προτείνεται memory limit 96MB. Επίσης έξτρα modules ανάλογα με την λειτουργικότητά τους μπορούν να αυξήσουν το απαιτούμενο όριο κατά πολύ. Συνήθως μέχρι 128MB είναι αρκετά, ενώ τιμές όπως 256MB χρησιμοποιούνται σε Drupal sites που κάνουν εκτενή χρήση κι επεξεργασία multimedia files.
Το Drupal υποστηρίζει tables τύπου MyISAM και InnoDB. Επιπλέον θέλει αρκετά connections διαθέσιμα και αυτό που θα πρέπει να προσέξει κανείς είναι ότι η μεταβλητή max_allowed_packet της MySQL θα πρέπει να είναι τουλάχιστον 16M.
Γενικά ισχύει όπως είχαμε αναφέρει και σε άλλο άρθρο το γνωστό MySQL optimization.
Πιο ειδικά, αξίζει να διαβάσετε το πολύ αναλυτικό άρθρο στο ίδιο Drupal (link στα αγγλικά) Drupal 7 ρυθμίσεις MySQL, όπου περιγράφονται με μεγάλη λεπτομέρεια τόσο οι παράμετροι-ρυθμίσεις της MySQL όσο και οι συγκεκριμένες ανάγκες του Drupal.