Thursday May 21, 2009

Java EE Olio - source code released

The Java EE source code of the Apache incubator project Olio was released two weeks ago. To learn more about the Java EE version of Olio, please check out Kim Lichong's overview blog. Shanti's blog provides an overiew of Olio.

History

It took a long time for us to get here and there were several detours along the way. This project started off as an extension of the Java EE Blueprints Live project. Thanks to Inderjeet Singh, Mark Basler, Sean Brydon, and Greg Murray (some of them are shown in the picture in the Olio snapshot) for their contributions. Significant portions of the Live code are still in Olio (I am sure there are a few unused artifacts there as well, which we have missed to take out).

We modified the base Live code so that we could analyze the performance and scalability of a Web 2.0 application and added a benchmark driver and harness. The feature set available in Live was used for the 1.0 version of  PHP and Rails versions. We went on to modify the Java EE version to incorporate distributed caching using Memcached and some experiments using a distributed file system. At this stage, the plans were changed to release a stripped down version of the code that we had for feature parity with PHP 1.0 (which did not use Memcached). Due to some other priorities, it took us a lot longer to refactor the required changes and get to where we are. So I am extremely glad that we are finally able to release it.

Current Status

We have a working version of the code available -

Application: http://svn.apache.org/viewvc/incubator/olio/webapp/java
Workload Driver:  http://svn.apache.org/viewvc/incubator/olio/workload/java
Guide  for initial setup and configuration:  http://svn.apache.org/viewvc/incubator/olio/docs/java_setup.html?view=log

Help Needed

We are just getting started and there are lots more to be done. Here is a set of tasks that are already identified (I am sure there will be more coming in) -

  1. Incorporate Memcached or some other distributed caching mechanism.
  2. Improve the file system interaction. There are parts of the code that assume a local file system. We started on cleaning up this code by defining a file system abstraction layer. But more work is needed to complete the clean up. Once the clean up is complete, look at using distributed file systems (MogileFS, Hadoop).
  3. Clean up the JSPs to replace JMaki with appropriate JS libraries.
  4. Implement 'true' REST based services.
This is an open invitation to all of you to join us and move this project along. Please subscribe to our mailing lists via the Olio home page as a user (olio-user@incubator.apache.org), or contribute as a developer (olio-dev@incubator.apache.org) .


Thursday Apr 16, 2009

Measuring HTTP Listener Service Time With BTrace

In the last entry, I discussed who BTrace can be used to monitor the HTTP thread pool. Here, I show how a similar script can be used to measure the service time of the HTTP listener.[Read More]

Friday Apr 10, 2009

Monitoring GlassFish Using BTrace

BTrace, the dynamic tracing utility in Java can be used to monitor a GlassFish server instance. Here I list a script that can be used to collect the HTTP thread pool statistics.[Read More]

Wednesday Apr 01, 2009

GlassFish V3 profiling

I have been using JProfiler and BTrace for the performance analysis of GlassFish V3. Things were working well until I picked up build 42 last week. With this build, I was unable to attach the profiler or BTrace. A work around is discussed here.[Read More]

Thursday Mar 26, 2009

Monitoring Web Applications in GlassFish

GlassFish monitoring framework can be used to collect Servlet service time statistics. This is a valuable debugging tool for investigating high latency problems. The data can help identify whether the problem is caused within the application or the application server.[Read More]

Monday Mar 16, 2009

GlassFish Tuning - HTTP Connection Queue & Keep Alive

In my last entry I discussed how to monitor and tune the HTTP thread pool in GlassFish. In this installment, I discuss the monitoring and tuning of the http listener's connection queue and the keep alive settings.

[Read More]
About

binu

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today