Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers|

Our valued sponsors who help make this site possible
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up! 

New Relic: Try free w/ production profiling and get a free shirt! 

Tool Report: Piper

JProfiler
Get rid of your performance problems and memory leaks!

jKool for DevOps
Light up your Apps & get a cool t-shirt


Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:


Site24x7
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up!

New Relic
New Relic: Try free w/ production profiling and get a free shirt!


JProfiler
Get rid of your performance problems and memory leaks!

jKool for DevOps
Light up your Apps & get a cool t-shirt


Published March 2003

The JavaPerformanceTuning.com Tool Reports are designed to help readers make informed choices about the tools they may wish to use. JavaPerformanceTuning.com provides these reports as a service to our readers; JavaPerformanceTuning.com is not responsible for the information provided by the tool author or vendor, nor do we necessarily endorse the products mentioned. JavaPerformanceTuning.com is not responsible for any additional resources provided from the article (such as downloadable files or other accessible material), even where we host such material.

What is Piper?

c-BiZZ Piper is a reverse proxy & cache that improves the performance of websites coming from an application server. Piper boosts your performance, because it adds a cache component to your webserver & application server. Rather than slowly generating the pages again and again on the application server, Piper will cache the pages from your application server, will deliver these pre-generated pages and will generate the pages in the background, when they become out-dated.

The main idea is, rather than letting someone access your slow application server to get a web page he will access the fast Piper. The more users are accessing your web pages and the more powerful your application logic is, the more effective Piper will be. It will speed up your website and it will decrease your resource consumption.

How to install

Piper is a 100% Java application, the administration front end runs in a browser. The complete piper software is packed in a small ZIP file. Unpack the ZIP file and follow the few installation instructions. Once unpacked, no further installation is required. (Assuming, you have a Java runtime environment, which is easy to install, too). You can instantly start the unpacked Piper and it will immediately work.

Because Piper works in front of your application server it has a built-in HTTP server. Therefore, when Piper is started, its administration front end is instantly running as well and can be accessed by a browser. Setting up Piper is done in minutes. (Setting up useful rules to effectively cache your websites may be more time consuming).

How to uninstall

If you want to remove Piper, just delete the files. There is no uninstall required. Piper does not change any settings of your system or write into files other than its own files.

What is a typical configuration for Piper?

Most people use Piper together with servlet engines running JSPs, which access a complex database. Typically, News-Sites or Support-Sites do this. Of course, most Websites using a Web Content Management system are perfect candidates for a Piper tuning. Here is a typical example that really benefits from Piper:

You use a Content Management System and store text and images in a database rather than a file system.
Your website uses JSPs. The JSPs run in a Java Application Server, let's say Resin or Tomcat. The JSPs accesses the database by JDBC. You do this, because your database will often change and this shall lead to a different web page delivered by the same URL.

This is a pretty common approach, because you always deliver the up-to-date data from your database on your web pages. But, it is not very efficient, because you generate exactly the same page for the same URL again and again although nothing relevant may have changed in your database.

This is an excellent situation for a Piper cache, because your application software remains completely unaffected. You define the caching rules outside your application but still on a very detailed level. This is, what every administrator really wants to have.

What are your options?

 

Typical caches or reverse proxy solutions are not very effective, because they hardly allow you to define different caching rules for the different URLs or they force you to implement rules in your application server logic.

Does Piper replace Squid or Apache reverse proxy?

Yes and no.

Yes, because technically, Piper is a caching webserver and you need nothing more. You can set up a very effective dynamic website just with an application server, e.g. Resin, the httpd service in Resin and a Piper in front (plus at least a firewall...). Sometimes, this easy and straightforward installation is perfect.

No, because Piper does not have the functionality of these other great tools. But Piper is the better tool to configure your URLs, configure and redirect your websites and to cache your URLs. Many large sites use both: An application server generating the pages, an Apache or Squid as a very stable and powerful reverse proxy / external webserver and a Piper in between.

Squid is a caching proxy, not a caching reverse proxy. Apache is a Webserver, not a caching reverse proxy. Piper is a caching reverse proxy.

Where does Piper fail?

Piper examples:

Here are some typical examples of Piper rules. Note, that we do not list all parameters of a rule. These examples are just here to explain the basic idea:

domain=^127\\.0\\.0\\.1$
match=^\\/$
expiration=5
target.host=appserv.resin.de

This rule will cache all incoming URLs on 127.0.0.1 regardless of the path (regular expression ^\\/$) for 5 minutes and will get these pages from appserv.resin.de, the path remains unchanged. This means "cache all pages on the website".

Now, let's add a more detailed rule:

domain=^127\\.0\\.0\\.1$
match=\\/index\\.jsp\\/menuid\\/6043\\/.*
expiration=10
target.host=appserv.resin.de

This rule will overwrite the rule above and will cache all incoming URLs on 127.0.0.1 beginning with path /index.jsp/menuid/6043 for 10 minutes and will get these pages from appserv.resin.de, the path remains unchanged.

Now, let's redirect something:

domain=www.example.com
match=\\/sport\\/$
expiration=0
target.host=appserv.example.com
replacePath=/index.jsp/men/contentengine/restheme/news
redirect=y

This rule will redirect 'www.example.com/sport' to 'appserv.example.com/index.jsp/men/contentengine/restheme/news'. Nothing will be cached (expiration=0).

Where to get Piper?

home: http://bs.klopotek.de

Information: http://www1.klopotek.de/bs/prod/piper/enindex.htm

Download: http://www1.klopotek.de/bs/prod/piper/dl/enindex.htm

Documents: http://www1.klopotek.de/bs/tecnet/piper/enindex.htm

Is it free?

Sometimes... Piper was developed for the professional Web Content Management System c-BiZZ. Therefore, it is professional, supported, guaranteed and ... not free. But hobbyists, students and non-profit organizations may use it for free. Download, testing and development is free, as well. Furthermore,

Piper is cheaper than one day of your work!

Is it open source, can I change it?

No, not yet. But if you really want to do this, ask us.


Last Updated: 2017-07-31
Copyright © 2000-2017 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/tools/piper/index.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us