Πορτρέτο του Ξενοφών Απάκη
Ξενοφών Απάκης
Web designer και developer από το 1997

ταχυτητα ιστοσελιδων

ταχυτητα ιστοσελιδων

· Με δύο λόγια

Ορίστε σωστά το έργο βελτίωσης ταχύτητας: κρίσιμες σελίδες, εικόνες, κώδικας, φιλοξενία, εξωτερικές υπηρεσίες και έλεγχοι..

Ταχύτητα ιστοσελίδων: τι πρέπει να οριστεί πριν αρχίσουν οι αλλαγές

Η ταχύτητα ιστοσελίδων δεν διορθώνεται αξιόπιστα με μία γενική εντολή «κάντε τη σελίδα πιο γρήγορη». Πριν αρχίσουν αλλαγές, πρέπει να οριστούν οι σελίδες που έχουν προτεραιότητα, οι συσκευές και οι βασικές διαδρομές χρήσης, οι εξαρτήσεις από φιλοξενία και τρίτες υπηρεσίες, τα είδη πολυμέσων και τα όρια μέσα στα οποία μπορεί να επέμβει η τεχνική ομάδα. Έτσι η βελτίωση της απόδοσης γίνεται συγκεκριμένο έργο με ελέγξιμες απαιτήσεις και όχι σειρά τυχαίων παρεμβάσεων.

Πρώτα ορίζουμε τι ακριβώς σημαίνει «γρήγορη ιστοσελίδα» για το έργο

Η ίδια ιστοσελίδα μπορεί να έχει διαφορετικές ανάγκες ανάλογα με το περιεχόμενο και τις λειτουργίες της. Μια απλή εταιρική παρουσία, ένα ηλεκτρονικό κατάστημα και μια εφαρμογή με λογαριασμούς χρηστών δεν έχουν το ίδιο τεχνικό προφίλ. Για αυτό το πρώτο βήμα είναι να καταγραφούν οι κρίσιμες σελίδες και οι ενέργειες που δεν πρέπει να καθυστερούν.

Η ομάδα χρειάζεται επίσης να γνωρίζει ποια μέρη ελέγχει και ποια εξαρτώνται από εξωτερικά συστήματα. Αν μια λειτουργία παρέχεται από τρίτη υπηρεσία ή αν η φιλοξενία έχει συγκεκριμένους περιορισμούς, αυτά πρέπει να μπουν στο εύρος του έργου πριν δοθούν δεσμεύσεις. Διαφορετικά, ο στόχος ταχύτητας μένει ασαφής.

Οι κρίσιμες σελίδες δεν έχουν όλες την ίδια προτεραιότητα

Αντί να εξετάζονται όλες οι διευθύνσεις ως ισοδύναμες, επιλέγονται αντιπροσωπευτικές διαδρομές: αρχική σελίδα, βασική υπηρεσία, προϊόν ή κατηγορία, φόρμα επικοινωνίας και οποιοδήποτε βήμα συνδέεται με μετατροπή. Η επιλογή αυτή επιτρέπει να γίνουν επαναλαμβανόμενοι έλεγχοι πάνω σε σταθερό σύνολο και να φανεί αν μια αλλαγή βελτιώνει πράγματι τη χρήση.

Χρειάζεται και έλεγχος διαφορετικών καταστάσεων. Μια σελίδα μπορεί να συμπεριφέρεται καλά όταν είναι ήδη αποθηκευμένη προσωρινά αλλά πιο αργά στην πρώτη επίσκεψη. Γι’ αυτό ορίζουμε εκ των προτέρων τι θα ελεγχθεί, ώστε τα αποτελέσματα πριν και μετά να είναι συγκρίσιμα.

Εικόνες και πολυμέσα: συχνή πηγή άσκοπου βάρους

Οι εικόνες πρέπει να εξυπηρετούν συγκεκριμένη θέση και μέγεθος προβολής. Η αποστολή πολύ μεγάλου αρχείου για μια μικρή κάρτα σπαταλά δεδομένα και χρόνο. Η απαίτηση λοιπόν δεν είναι απλώς «συμπίεση εικόνων», αλλά σωστές διαστάσεις, κατάλληλη μορφή, αποφυγή περιττών αντιγράφων και φόρτωση στον χρόνο που πραγματικά χρειάζονται.

Το ίδιο ισχύει για βίντεο, κινούμενα στοιχεία και γραμματοσειρές. Κάθε πρόσθετο μέσο πρέπει να δικαιολογείται από τη λειτουργία του. Αν ένα εφέ καθυστερεί την αρχική προβολή χωρίς να βοηθά τον επισκέπτη να καταλάβει ή να ενεργήσει, είναι υποψήφιο για απλοποίηση. Η απόφαση πρέπει να γίνεται σε επίπεδο εμπειρίας και όχι μόνο αρχείου.

Κώδικας περιήγησης και πρόσθετα πρέπει να ελέγχονται ως εξαρτήσεις

Μια ιστοσελίδα συχνά φορτώνει κώδικα για μενού, φόρμες, στατιστικά, συνομιλία, χάρτες, διαφημίσεις ή άλλες λειτουργίες. Η απαίτηση δεν είναι να αφαιρεθούν όλα, αλλά να καταγραφούν και να αξιολογηθεί ποια είναι ουσιώδη. Ό,τι εκτελείται σε κάθε σελίδα χωρίς λόγο δημιουργεί περιττή δουλειά για τη συσκευή του επισκέπτη.

Σε συστήματα με πρόσθετα χρειάζεται ιδιαίτερη προσοχή στις επικαλύψεις. Δύο εργαλεία μπορεί να κάνουν παρόμοια εργασία ή ένα πρόσθετο να φορτώνει πόρους ακόμη και σε σελίδες όπου δεν χρησιμοποιείται. Ο έλεγχος απόδοσης πρέπει να συμπεριλάβει αυτή τη χαρτογράφηση πριν επιλεγούν τεχνικές διορθώσεις.

Φιλοξενία, προσωρινή αποθήκευση και όρια υποδομής

Η φιλοξενία επηρεάζει τον χρόνο με τον οποίο ο διακομιστής μπορεί να απαντήσει και να εξυπηρετήσει τις απαιτήσεις της εφαρμογής. Δεν αρκεί όμως η απλή μετάβαση σε ακριβότερο πακέτο αν το λογισμικό εκτελεί περιττές εργασίες ή η βάση δεδομένων χρησιμοποιείται αναποτελεσματικά. Χρειάζεται πρώτα διάγνωση και μετά επιλογή λύσης.

Η προσωρινή αποθήκευση μπορεί να μειώσει επαναλαμβανόμενη επεξεργασία, αλλά πρέπει να σχεδιαστεί με βάση το περιεχόμενο. Σε σελίδες που αλλάζουν συχνά ή εμφανίζουν προσωποποιημένη πληροφορία απαιτούνται διαφορετικοί κανόνες. Το έργο πρέπει να ορίζει ποιος καθαρίζει την προσωρινή μνήμη μετά από αλλαγές και πώς ελέγχεται ότι οι επισκέπτες βλέπουν τη σωστή έκδοση.

Εξωτερικές υπηρεσίες: χρήσιμες αλλά όχι αόρατες

Χάρτες, βίντεο, συστήματα αξιολογήσεων, εργαλεία μέτρησης και εξωτερικές φόρμες μπορούν να προσθέσουν πραγματική αξία. Ταυτόχρονα είναι εξαρτήσεις που δεν ελέγχονται πλήρως από τον ιδιοκτήτη της ιστοσελίδας. Η καταγραφή τους είναι μέρος των απαιτήσεων, γιατί επηρεάζουν χρόνο φόρτωσης, ιδιωτικότητα, συντήρηση και πιθανές αστοχίες.

Σε κάθε εξάρτηση ορίζουμε αν χρειάζεται να φορτώνει αμέσως ή μόνο όταν ο χρήστης φτάσει στο αντίστοιχο σημείο ή ενεργήσει. Δεν υπάρχει μία λύση για όλες τις περιπτώσεις. Η σωστή επιλογή προκύπτει από τη λειτουργία που εξυπηρετεί και από τη θέση της στην πραγματική διαδρομή του επισκέπτη.

Λίστα ελέγχου απαιτήσεων πριν ξεκινήσει η υλοποίηση

  • Καταγράψτε τις κρίσιμες σελίδες και τις βασικές ενέργειες που πρέπει να παραμένουν άμεσες.
  • Ορίστε τις συσκευές και τα σενάρια ελέγχου που θα χρησιμοποιούνται πριν και μετά τις αλλαγές.
  • Απογράψτε εικόνες, βίντεο, γραμματοσειρές και άλλα πολυμέσα με μεγάλο βάρος.
  • Καταγράψτε πρόσθετα, κώδικα τρίτων και εξωτερικές υπηρεσίες ανά σελίδα.
  • Ελέγξτε τις πραγματικές δυνατότητες της φιλοξενίας και τις ρυθμίσεις προσωρινής αποθήκευσης.
  • Ξεχωρίστε τις αλλαγές που μπορούν να γίνουν χωρίς να επηρεαστούν κρίσιμες λειτουργίες.
  • Ορίστε υπεύθυνο επαλήθευσης μετά από κάθε τεχνική παρέμβαση και διαδικασία επιστροφής αν κάτι χαλάσει.

Οι διορθώσεις χρειάζονται σειρά και έλεγχο

Η ασφαλής εκτέλεση γίνεται σε μικρές, καταγεγραμμένες παρεμβάσεις. Πρώτα αντιμετωπίζονται τα μεγάλα και προφανή βάρη, μετά οι τεχνικές εξαρτήσεις και τέλος οι λεπτομέρειες. Κάθε αλλαγή ελέγχεται όχι μόνο ως προς την απόδοση αλλά και ως προς τη λειτουργία: φόρμες, καλάθι, πλοήγηση, αναζήτηση και στοιχεία αλληλεπίδρασης πρέπει να παραμένουν σωστά.

Για γενικότερη οργάνωση των ιστοσελίδων και των τεχνικών τους απαιτήσεων χρειάζεται ενιαία εικόνα του έργου. Μια δεύτερη οπτική πάνω στη λειτουργία ιστοσελίδων βοηθά να συνδεθούν οι τεχνικές επιλογές με την εμπειρία χρήσης, ενώ η προώθηση ιστοσελίδων έχει νόημα όταν η σελίδα που δέχεται την επισκεψιμότητα είναι ήδη λειτουργική και ελεγχόμενη.

Πότε θεωρούμε ότι το έργο έχει ολοκληρωθεί

Η ολοκλήρωση δεν είναι μια εντυπωσιακή μέτρηση σε μία μόνο στιγμή. Χρειάζεται να έχει εφαρμοστεί το συμφωνημένο εύρος, να έχουν ελεγχθεί οι κρίσιμες διαδρομές και να υπάρχει καταγραφή των αλλαγών. Αν κάποια απαίτηση δεν μπορεί να επιτευχθεί λόγω εξωτερικής εξάρτησης, αυτό πρέπει να αναφέρεται καθαρά και να μην κρύβεται πίσω από έναν συνολικό αριθμό.

Τέλος, η ταχύτητα χρειάζεται συντήρηση. Νέες εικόνες, πρόσθετα, καμπάνιες ή αλλαγές στον σχεδιασμό μπορούν να ξαναπροσθέσουν βάρος. Ένας περιοδικός έλεγχος των κρίσιμων σελίδων και των νέων εξαρτήσεων διατηρεί το αποτέλεσμα και αποτρέπει τη σταδιακή επιστροφή στα ίδια προβλήματα.

Μετατρέψτε τον γενικό στόχο «να γίνει πιο γρήγορη» σε συγκεκριμένη λίστα απαιτήσεων, εξαρτήσεων και ελέγχων αποδοχής.

Προϋπολογισμός απόδοσης για νέες προσθήκες

Η βελτίωση ταχύτητας διατηρείται ευκολότερα όταν κάθε νέα προσθήκη περνά έναν απλό έλεγχο πριν δημοσιευτεί. Μια νέα γραμματοσειρά, ένα μεγάλο βίντεο, μια υπηρεσία συνομιλίας ή ένα πρόσθετο μπορεί να φαίνεται μικρή αλλαγή, αλλά προσθέτει πόρους και εξαρτήσεις που φορτώνονται ξανά σε πολλές επισκέψεις.

Ορίζουμε λοιπόν έναν πρακτικό προϋπολογισμό απόδοσης: ποια στοιχεία επιτρέπεται να προστεθούν, σε ποιες σελίδες και με ποια αιτιολόγηση. Δεν χρειάζεται ένας αυθαίρετος αριθμός που ισχύει παντού. Χρειάζεται κανόνας απόφασης που αναγκάζει την ομάδα να εξετάζει το κόστος κάθε νέας λειτουργίας σε σχέση με την αξία που προσφέρει στον επισκέπτη.