التنميط/تصحيح JBOSS AS/SEAM
-
30-09-2019 - |
سؤال
لقد بدأت مؤخرًا بتطوير تطبيق الويب JBOSS SEAM (موقع المزاد). لقد أصبحت حتى الآن رائعة ، لكنني واجهت مؤخرًا أوقات تحميل طويلة (خاصةً على موارد مثل ملفات Javascripts/CSS ، ولكن أيضًا الصفحات نفسها بطيئة).
هل هناك مستنير لتماس JBoss/حيث يمكنني رؤية الفصول الدراسية الموجودة في الذاكرة ، إلخ؟
ما الذي يمكن أن يكون السبب في أوقات التحميل عالية على ملفات CSS/JS/Images؟ بسبب تطوير الأسباب التي لم أتمكن من تمكين مرشحات Web-Cach التي تقدمها Seam حتى الآن. هذه هي حجج VM الخاصة بي
-Drebel.log=true -noverify -javaagent:"C:\Program Files\ZeroTurnaround\JRebel\jrebel.jar" -Drebel.hibernate_plugin=true -Drebel.seam_plugin=true -Drebel.jboss_plugin=true -Drebel.allow_bytecode_proxy=true -Dprogram.name="JBoss 5.1 Runtime" -Djava.endorsed.dirs="C:\Java\jboss\as5.0\lib\endorsed" -Dproject.home="C:\Java\jboss\as5.0\server\default\deploy\botenveiling.war" -Xms1024m -Xmx1024m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512m -Xverify:none
قمت ببعض التعديلات (أزلت بعض التطبيقات الافتراضية):http://www.jaysonjc.com/programming/how-to-configure-jboss-as-production-settings-tuning-tips.html
أنا أستخدم War-explode لنشر ملفاتي على الخادم.
اقامة:
- JBOSS Application Server 5.1
- JBOSS SEAM 2.2.2CR1
- جريبل
- PrimeFaces 1.1
نظام
- Intel Core 2 Duo E6550
- 4 غيغابايت من الذاكرة
المحلول
كتبت منشورًا للمدونة حيث عرضت اعتراضًا يمكنه قياس كل استدعاء طريقة تستخدمها مكوناتك.
وبهذه الطريقة ، يمكنك معرفة الطرق التي تستخدمها وقتًا طويلاً ، ويمكنك العثور على الأخطاء في الكود الخاص بك. إلق نظرة هنا وانتقل لأسفل إلى المثال الثاني.
سوف تحصل على الإخراج مثل هذا:
284.94 ms 1 FooBean.getRandomDroplets()
284.56 ms 1 GahBean.getRandomDroplets()
201.60 ms 2 SohBean.searchRatedDoodlesWithinHead()
185.94 ms 1 FroBean.doSearchPopular()
157.63 ms 1 FroBean.doSearchRecent()
42.34 ms 1 FooBean.fetchMostRecentYodel()
41.94 ms 1 GahBean.getMostRecentYodel()
15.89 ms 1 FooBean.getNoOfYodels()
15.00 ms 1 GahBean.getNoOfYodels()
9.14 ms 1 SohBean.mainYodels()
1.11 ms 2 SohBean.trackHoorayEvent()
0.32 ms 1 FroBean.reset()
0.22 ms 43 NohBean.thumbPicture()
0.03 ms 18 FooBean.getMostRecentYodels()
0.01 ms 1 NohBean.profilePicture()
0.01 ms 1 FroBean.setToDefault()
0.01 ms 1 FroBean.getRecentMarker()
ثانياً ، هناك صفحة توصيف على قاعدة المعرفة التماس, ، لكن هذا ليس جيدًا حقًا.
كتب Dan Allen أيضًا منشورًا لطيفًا عن جزء حول تسريع تطبيق JSF الخاص بك والذي يستحق القراءة.
أ Firebug مثل الأداة هي أيضًا أمر لا بد منه لأدوات أداء JavaScript/Ajax