Όταν η παρακολούθηση της απόδοσης (performance) μιας εφαρμογής
αποτελεί τμήμα της καθημερινής διαδικασίας ανάπτυξης (development
process), τότε μπορούμε να φτιάχνουμε καλύτερο λογισμικό και να
περιορίσουμε δυσάρεστες εκπλήξεις στην παράδοση σε ένα παραγωγικό
σύστημα. Αν και αυτό θα έπρεπε να ισχύει για κάθε περίπτωση, ιδίως για
τις εφαρμογές που βασίζονται στο Oracle ADF αποκτά ιδιαίτερη αξία, καθώς
αποτελεί ένα database-oriented framework και συχνά προβλήματα απόδοσης
προέρχονται από το επίπεδο της βάσης δεδομένων. Γι' αυτό ακριβώς το
λόγο, βρήκα εξαιρετικά χρήσιμο το εργαλείο XRebel που
κατά τη διάρκεια της εκτέλεσης μιας web εφαρμογής μας εμφανίζει άμεσα,
σε ένα widget ενσωματωμένο στην σελίδα μας, πληροφορίες για τα SQL
statements που εκτελούνται, τους χρόνους τους καθώς και την επιβάρυνση
του web session.
Δοκίμασα λοιπόν την τελευταία έκδοση του XRebel (2.0 Beta) σε μια εφαρμογή φτιαγμένη με το UI shell (dynamic tabs) Ευτυχώς, η ZeroTurnaround (εταιρεία που κατασκευάζει το XRebel) προσέφερε μια δοκιμαστική έκδοση 30 ημερών μέσα στον Μάρτιο 2015. Έπειτα από το download, η ενεργοποίηση του XRebel γίνεται στο Run Configuration του JDeveloper, με την προσθήκη του java agent για το xrebel.jar.
Έπειδή το XRebel θα ενσωματωθεί στο runtime της εφαρμογής μας, καλό θα είναι να αυξήσουμε το heap size του Weblogic (τουλάχιστον -Xmx=1024m) Ξεκινούμε την εφαρμογή όπως γνωρίζουμε. Με την εκκίνηση λοιπόν, θα εμφανιστεί το widget που XRebel. Εκεί εμφανίζεται:
Κάτι που λείπει είναι η άθροιση των SQL statements ώστε να διαπιστώσουμε επαναλαμβανόμενες SQL εντολές. Τα απολέσματα του XRebel μπορούν να κατευθυνθούν σε αρχείο (διαδρομή $HOME/.xrebel/xrebel.log στο Linux) ώστε να κάνουμε εκεί analytics. Να και μια φωτογραφία από το application profiling.
Η βοήθεια που μου έδωσε το XRebel ήταν ανεκτίμητη. Με εύκολο, γρήγορο και γραφικό τρόπο μου έδωσε πληροφορίες απόδοσης της εφαρμογής και με βοήθησε να βελτιώσω κάποια SQL queries και να διορθώσω κάποια bindings, χωρίς να κοιτάξω σε πολλαπλά log files. Το συνιστώ ανεπιφύλακτα !
Δοκίμασα λοιπόν την τελευταία έκδοση του XRebel (2.0 Beta) σε μια εφαρμογή φτιαγμένη με το UI shell (dynamic tabs) Ευτυχώς, η ZeroTurnaround (εταιρεία που κατασκευάζει το XRebel) προσέφερε μια δοκιμαστική έκδοση 30 ημερών μέσα στον Μάρτιο 2015. Έπειτα από το download, η ενεργοποίηση του XRebel γίνεται στο Run Configuration του JDeveloper, με την προσθήκη του java agent για το xrebel.jar.
Έπειδή το XRebel θα ενσωματωθεί στο runtime της εφαρμογής μας, καλό θα είναι να αυξήσουμε το heap size του Weblogic (τουλάχιστον -Xmx=1024m) Ξεκινούμε την εφαρμογή όπως γνωρίζουμε. Με την εκκίνηση λοιπόν, θα εμφανιστεί το widget που XRebel. Εκεί εμφανίζεται:
- profiling πληροφορία του κώδικα μας (ποια σημεία αργούν πιο πολύ στην εκτέλεση)
- Database operations (queries και SQL statements) που εκτελούνται στην οθόνη μας
- Το πόσα και ποια objects βρίσκονται στο user session και ποιά είναι η επιβάρυνση τους στην μνήμη του Weblogic
Κάτι που λείπει είναι η άθροιση των SQL statements ώστε να διαπιστώσουμε επαναλαμβανόμενες SQL εντολές. Τα απολέσματα του XRebel μπορούν να κατευθυνθούν σε αρχείο (διαδρομή $HOME/.xrebel/xrebel.log στο Linux) ώστε να κάνουμε εκεί analytics. Να και μια φωτογραφία από το application profiling.
Η βοήθεια που μου έδωσε το XRebel ήταν ανεκτίμητη. Με εύκολο, γρήγορο και γραφικό τρόπο μου έδωσε πληροφορίες απόδοσης της εφαρμογής και με βοήθησε να βελτιώσω κάποια SQL queries και να διορθώσω κάποια bindings, χωρίς να κοιτάξω σε πολλαπλά log files. Το συνιστώ ανεπιφύλακτα !
No comments:
Post a Comment