Elxis CMS Forum

Ελληνικό Forum => Δημόσιο Βήμα => Topic started by: babis1 on August 02, 2011, 19:57:09

Title: google page speed
Post by: babis1 on August 02, 2011, 19:57:09
η google εχει ενα page speed και εκανα ενα τεστ σε καποιο site, στα high priority μου βγαζει για καποιες εικονες expiration not specified οι εικονες οι περισσοτερες ειναι default οπως
 images/M_images/opml.png (expiration not specified)
καθως επισης  και ενα αρχειο js
administrator/includes/js/ajax_new.js (expiration not specified)
τι εννοει expiration not specified υπαρχει τροπος να ορισεις σε image expiration?
Title: Re: google page speed
Post by: datahell on August 02, 2011, 21:06:10
http://httpd.apache.org/docs/2.2/mod/mod_expires.html (http://httpd.apache.org/docs/2.2/mod/mod_expires.html)
Title: Re: google page speed
Post by: babis1 on August 02, 2011, 21:16:24
χμ !!! ευχαριστω να ξερω που να απευθυνθω
Title: Re: google page speed
Post by: datahell on August 02, 2011, 22:02:04
Αν θες τη γνώμη μου αυτά είναι χαζομάρες της google. Μην ασχολήσε...
Title: Re: google page speed
Post by: babis1 on August 02, 2011, 22:29:19
ψαχνοντας βρηκα αυτο
http://developer.yahoo.com/performance/rules.html
εχει μια ενοτητα που λεγετε Flush the Buffer Early και δινει αυτο <?php flush(); ?> να το χρησιμοποιησεις εδω
</head>
<?php flush(); ?>
<body>

flush εντολη χρησιμοποιω καμμια φορα στο run του pc, το εβαλα σε ενα site (χωρις να προτρεψω για χρησιμοποιηση), ειδα διαφορα στην ταχυτητα που φορτωσε η σελιδα
Title: Re: google page speed
Post by: datahell on August 03, 2011, 00:30:45
Ώρες ώρες απορώ που πας και μπλέκεις... Αφού το Elxis διαχείρίζεται μόνο του το output buffering, τι πήγες και έγραψες; Και που το έγραψες δηλαδή δεν κάνεις τίποτα, απλά κάνεις flush το τίποτα και μετά το elxis αποθηκεύει στο buffer και κάνει το σωστό flush. Έχει σημασία και που το χρησιμοποιείς αυτό, δεν το γράφεις όπου να' ναι.
Title: Re: google page speed
Post by: rentasite on August 03, 2011, 00:53:58
Ώρες ώρες απορώ που πας και μπλέκεις...

Και με ποιους κάνεις παρέα! xaxaxaxaxaa  ;D ;D :D
Title: Re: google page speed
Post by: babis1 on August 03, 2011, 09:54:07
google και yahoo τα παιρνω λιγο σοβαρα υποψιν μου...αυτο που με απασχολει ειναι τα warnings του online google page speed, το flush δεν με πολυνοιαζει...τωρα με ποιους κανω παρεα βασικα μονο στο φορουμ εδω γραφω...λες ? μπα δεν....ασε γιατι τωρα ξυπνησα θα αλλαξω συνηθεια θα μπαινω μετα το δευτερο τσιγαρο να ξυπναω καλυτερα
Title: Re: google page speed
Post by: datahell on August 03, 2011, 12:11:47
Η google είναι ο πρώτος που δεν τηρεί τις οδηγείες που γράφει. Έχεις κάνει ποτέ validation το site της google; Έχεις δει τον κώδικα των σελίδων της; Η google θέλει να χειραγωγήσει το internet με κάθε τρόπο και να σε κάνει να χορεύεις στο ρυθμό που βαράει το τύμπανο. Δεν λέω πως ότι γράφει είναι όλα μαμακίες, λέω όμως ότι πρέπει να έχουμε και εμείς κριτική σκέψη. Ο οδηγός για το internet είναι το W3C. Από εκεί και πέρα αν θες να κάνεις βελτιστοποίηση σε servers, php, κλπ, επισκέπτεσε το αντίστοιχο site και διαβάζεις τις επίσημες οδηγίες. Πχ αν θες cache για τον apache μπορείς να δεις για το mod_cache, αν θες για την php το memcache, το APC, μπορείς επίσης να κοιτάξεις για εναλλτκικούς του apache servers, κλπ, κλπ. Υπάρχουν πάρα πολλές πληροφορίες στο internet. Το πως όμως πχ θα αυξήσεις την ταχύτητα του apache δεν θα στο πει η google.

Τα expiration για τις εικόνες μπορείς να τα ορίσεις στον apache (ExpiresByType).

Το flush μετά το echo των headers όπως γράφει η σελίδα που έδωσες είναι λάθος γιατί τα component μετά δεν θα μπορούν να αλλάξουν το header και θα παίρνεις warnings του τύπου "headers already sent". Αυτά που γράφουν εφαρμόζονται κατά περίπτωση. Και στη περίπτωση οποιουδήποτε, σχεδόν, δυναμικού site δεν εφαρμόζονται. Πρέπει να ξέρουμε τι ακριβώς κάνει κάτι πριν το χρησιμοποιήσουμε, οπότε χρειάζεται περισσότερη έρευνα στο internet και διάβασμα για τέτοια πράγματα ή τη συμβουλή κάποιου ειδικού.

Και να εξηγήσω τι κάνει το output buffering για να γνωρίζετε όσοι δεν το ξέρετε.
Σε φυσιολογική λειτουργία όταν κάνεις κάτι echo το στέλνεις κατευθείαν στον client (browser). Αυτό όμως έχει ένα σοβαρό μειονέκτημα: δεν μπορούμε να τροποποιήσουμε αν χρειαστεί παρακάτω στη σελίδα μας (πχ να προσθέσουμε ένα ακόμα css στα headers της σελίδας) αυτά τα οποία έχουμε ήδη στείλει στον client. Οπότε ανοίγουμε το output buffering πριν στείλουμε το οτιδήποτε στον browser. Ότι κάνουμε τώρα echo αποθηκεύεται στο buffer και δεν στέλνεται στον browser. Με αυτόν τον τρόπο μπορούμε να επεξεργαζόμαστε πράγματα που ήδη έχουμε στείλει και αποθηκεύσει στο buffer. Όταν τελειώσουμε την δημιουργία της html μας κάνουμε flush ώστε να στείλουμε το buffer στον client με τη μία και αν θέλουμε να καθαρίσουμε το buffer.
Title: Re: google page speed
Post by: babis1 on August 03, 2011, 12:48:25
γιαυτο εκανα και την ερωτηση για να μαθω κατι που δεν ξερω και να το ψαξω περισσοτερο, αν το ηξερα δεν θα ρωταγα καν......
ερωτηση και απορια τωρα η οποια μπορει και να μην ισχυει
εαν η εντολη που δινουν δεν ισχυει για δυναμικα sites και εαν το site ειναι απλο html, σε τι χρησιμευει το <?php flush(); ?> αφου το site δεν ειναι γραμμενο σε php
Title: Re: google page speed
Post by: datahell on August 03, 2011, 19:00:38
Εξαρτάται πως διαχειρίζεσε τα headers σου. Αν είσαι τόσο σίγουρος ότι δεν θα προσθαφερέσεις τίποτα από τα headers μπορείς να το κάνεις αλλά αυτό είναι εντελώς απίθανο σε ένα cms και γενικότερα σε μία εφαρμογή που σέβεται τον εαυτό της. Ένα cms έχει έναν αριθμό επεκτάσεων (components, modules, bots, plugins, hooks, blocks, κλπ, κλπ), δεν ξέρεις αν κάποια επέκταση θέλει να προσθέσει κάτι στα headers, ή να σου απαγορεύσει την πρόσβαση στη σελίδα, ή έχει δημιουργηθεί ένα error και θέλει να σου δείξει κάποια άλλη σελίδα, κλπ, οπότε κάνεις μαλακία αν κάνεις flush τα headers πριν τρέξεις τις επεκτάσεις και δημιουργήσεις όλη την html. Άσε που υπάρχουν και άλλα θέματα όπως του τύπου της σελίδας. Πχ δεν ξέρεις αν το ζητούμενο task στο component θέλει να δημιουργήσει μία html σελίδα, ένα xml έγγραφο, μία απόκριση JSON ή text μετά από μία κλήση ajax, κλπ. Οπότε αν, για παράδειγμα, στείλεις εσύ html headers σε ένα xml έγγραφο έχεις κάνει πατάτα...

Υπάρχουν καλύτεροι τρόποι και ορθότερες λύσεις για να κάνεις την σελίδα σου ταχύτερη και όχι αυτό που διάβασες. Αυτό το μόνο που θα σου δημιουργήσει είναι προβλήματα.