Dec 27, 2011

Μερικά tweaks για το JDeveloper και το Weblogic στο Linux

Δυο μικρές συμβουλές που όμως κάνουν σημαντική διαφορά στην ταχύτητα εκτέλεσης του embedded Weblogic στον JDeveloper αλλά και αυτόνομα στο περιβάλλον Linux. Οι δοκιμές μου περιλαμβάνουν το Oracle JDK 1.6.0.26 64-bit στο λειτουργικό σύστημα Ubuntu 10.10 (Maverick Meerkat) για αρχιτεκτονική amd64. Η έκδοση του JDeveloper είναι η 11g R1 (11.1.1.4.0) που έχει εγκατασταθεί με τον generic installer, ώστε να επιλέξουμε κατά τη διάρκεια της εγκατάστασης το προαναφερόμενο 64-bit JDK τόσο για την εκτέλεση του JDeveloper όσο και για τον embedded Weblogic Server.

Ένα από τα θέματα που προκύπτουν όταν χρησιμοποιούμε εξωτερικό JDK στον JDeveloper έχει να κάνει με το native I/O (http://docs.oracle.com/cd/E12839_01/web.1111/e13814/wls_tuning.htm#i1151673) που επιτρέπει την εγγενή (native) διασύνδεση με τα sockets του λειτουργικού συστήματος. Διαφορετικά παρόλου που το native Ι/Ο είναι ενεργοποιημένο, θα γίνει χρήση των java βιβλιοθηκών, γεγονός που επιβραδύνει την απόδοση του server. Ξεκινώντας τον Weblogic, βλέπει κανείς διάφορα διαγνωστικά μηνύματα όπως:

...
Native I/O disabled
There are: 5 active sockets, but the maximum number of socket reader threads allowed by the configuration is: 4. You may want to alter your configuration.
...

όλα αυτά προκύπτουν γιατί οι native βιβλιοθήκες δεν είναι διαθέσιμες στο εξωτερικό JDK. Δεν έχουμε λοιπόν παρά να αντιγράψουμε το αρχείο libmuxer.so από τον κατάλογο $MIDDLEWARE_HOME/wlserver_10.3/server/native/linux/x86_64 στο native library path του JDK μας, για παράδειγμα στο $JAVA_HOME/jre/lib/amd64. Τα μηνύματα θα εξαφανιστούν και θα έχουμε εμφανώς βελτιωμένο I/O.

Μια δεύτερη συμβουλή έχει να κάνει με την απόκριση του Weblogic Administration console και αφορά τον random generator σε Linux συστήματα. Πληροφορίες για αυτή την αλλαγή βρίσκονται εδώ. Ομολογώ πως έπειτα από αυτή τη ρύθμιση το login στο Weblogic console γίνεται σε κλάσματα δευτερολέπτου ! Περισσότερα συμβουλές για τον Weblogic και τον JDeveloper θα βρείτε σε παλαιότερο post.

No comments: