Ahogy olvasható a bevezető oldalon, "a meglévő fizikai hardver – bár stabil és strapabíró – sajnos elavult, lassú, továbbá nehezen és drágán bővíthető". A bővítés a Confluence motorra való migrálás okán vált szükségessé, mivel a nagyobb terhelést kapó wiki oldalnak nagyobb lett az erőforrás igénye, így a netdiag.hu mérései csúnya képet mutattak az utóbbi egy hónapban:
Igaz, voltak szép napok is:
A problémák forrása alapvetően a Confluence volt, amely több erőforrást igényel azonos forgalom esetén, mint a régi JavaForum2.0 portál – hozzá kell tenni, hogy sokkal többet is tud, de amikor a szerveren időzített mentések futottak, illetve több egyidejű kérés esett be, akkor a válaszidő túllépte a 12 másodpercet, amelyet a netdiag.hu már hibának jelzett és valóban sokban rombolja a felhasználói élményt a lassú weboldal.
Tegnap éjjel átmigráltam a teljes Confluence tartalmat az új szerverre, remélve, hogy elmúlnak a problémák, ám új problémával szembesültem:
Ahogy a grafikonon látszik, reggel negyed nyolc körül egy SMS-re ébredtem, hogy áll az oldal, a szerverre belépve az fogadott, hogy a Java processz nemes egyszerűséggel megszűnt létezni, a történtekről egy hs_err_pid26238.log fájl árulkodott, amely eleje szerint a JVM belefutott egy helyrehozhatatlan hibába:
# # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007ff2e511ed04, pid=26238, tid=140681185855232 # # JRE version: 6.0_24-b24 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.11.3 # Distribution: CentOS release 6.2 (Final), package rhel-1.48.1.11.3.el6_2-x86_64 # Problematic frame: # J java.lang.String.getBytes(Ljava/lang/String;)[B # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # --------------- T H R E A D --------------- Current thread (0x00007ff2e8982800): JavaThread "Java2D Disposer" daemon [_thread_in_Java, id=26321, stack(0x00007ff2e40c0000,0x00007ff2e41c1000)] |
És még kétszer a mai nap:
-rw-r--r--. 1 confluence users 168672 jún 20 11.25 hs_err_pid14012.log -rw-r--r--. 1 confluence users 167009 jún 20 07.08 hs_err_pid26238.log -rw-r--r--. 1 confluence users 164023 jún 20 08.46 hs_err_pid4643.log |
A fájlokban lévő ok közösnek tűnt:
Stack: [0x00007ff2e40c0000,0x00007ff2e41c1000], sp=0x00007ff2e41bef50, free space=1019k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) J java.lang.String.getBytes(Ljava/lang/String;)[B V [libjvm.so+0x4b8fa8] AsyncGetCallTrace+0xa4e38 V [libjvm.so+0x4b8108] AsyncGetCallTrace+0xa3f98 V [libjvm.so+0x4c4266] JNI_CreateJavaVM+0xf86 V [libjvm.so+0x4c4fb4] JNI_CreateJavaVM+0x1cd4 C [libjava.so+0x18360] JNU_GetStringPlatformChars+0x640 C [libfontmanager.so+0xad21] Java_sun_font_FreetypeFontScaler_initNativeScaler+0x2b1 |
Mindegyik a libfontmanager.so működésével kapcsolatos, amely a JVM része:
-rwxr-xr-x. 1 root root 238544 jún 13 16.52 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/libfontmanager.so |
Javításképp feltettem egy Oracle JDK csomagot, amely kicsit hosszabb, mint az OpenJDK csomagban lévő:
-rwxr-xr-x. 1 root root 671972 máj 9 19.28 /opt/jdk1.6.0_33/jre/lib/amd64/libfontmanager.so |
A Confluence most már ezzel a Java csomaggal fut, remélem ezzel megoldódik a probléma, ez a holnapi nap során talán kiderül...