Return-Path: X-Original-To: apmail-hc-httpclient-users-archive@www.apache.org Delivered-To: apmail-hc-httpclient-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 642F295CA for ; Thu, 22 Mar 2012 14:05:52 +0000 (UTC) Received: (qmail 49036 invoked by uid 500); 22 Mar 2012 14:05:49 -0000 Delivered-To: apmail-hc-httpclient-users-archive@hc.apache.org Received: (qmail 48963 invoked by uid 500); 22 Mar 2012 14:05:49 -0000 Mailing-List: contact httpclient-users-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpClient User Discussion" Delivered-To: mailing list httpclient-users@hc.apache.org Received: (qmail 48807 invoked by uid 99); 22 Mar 2012 14:05:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2012 14:05:49 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=FREEMAIL_REPLY,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of khiemu@googlemail.com designates 74.125.83.51 as permitted sender) Received: from [74.125.83.51] (HELO mail-ee0-f51.google.com) (74.125.83.51) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Mar 2012 14:05:44 +0000 Received: by eeke50 with SMTP id e50so654835eek.10 for ; Thu, 22 Mar 2012 07:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=NM43MuB0DuPJd+4BPFg/wusM/+nxg6DBFOVEQQU1Gn8=; b=uB/VDCUqN8BjXE/tTryn8TecNkB9iFVm3PsAoGWzNcD7oqLOna2aHIOSm6Qd5+dSsN N3uQZjJ0JZycAzVZGo4DX4PpMf0affo8XOmgwgTMlO4tN35VxFKEdkIEegtcSgXBg1VR J3yCGE/LtdXAL3IsEueEsXNlUHGiVkPYkyCLeO+7qnDj8dNmxn/KuLJh84rvICMBovYf 80AQhVXIotF/ii81s2dU+haUsHkcpY4/JRNcSOTROF1z2ikbYE7093Z2UszoYtwGE09c fgeRLWXbtgEAGhzCkHvfAx/YgZmYMVxn+arpFJzGGMcjFX8sCtvOYxJaw6En05HIlaRL d6bg== MIME-Version: 1.0 Received: by 10.14.202.200 with SMTP id d48mr1147419eeo.44.1332425121839; Thu, 22 Mar 2012 07:05:21 -0700 (PDT) Received: by 10.213.22.69 with HTTP; Thu, 22 Mar 2012 07:05:21 -0700 (PDT) In-Reply-To: References: Date: Thu, 22 Mar 2012 15:05:21 +0100 Message-ID: Subject: Re: Best practice for caching configuration From: kim young ill To: HttpClient User Discussion Content-Type: multipart/alternative; boundary=047d7b343ae413b93604bbd56626 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b343ae413b93604bbd56626 Content-Type: text/plain; charset=ISO-8859-1 hi there, thax alot for the explaination how the cache module handes setCookie headers ? in case httpclient (with cache-module enabled) is working as proxy & shared between different browser-instances ? On Tue, Mar 20, 2012 at 9:59 PM, Jon Moore wrote: > Actually, those recommendations are already in there too, they are just > perhaps worded differently. But if you think my recent explanation was > clearer, perhaps I can rewrite them. :) > > Jon > > On Tue, Mar 20, 2012 at 3:23 PM, Vasile Alin >wrote: > > > Thanks Jon for considering my proposal. > > > > Just checked the links (again) and yes, most of your recommendations are > > already available; however the rest of your hints, such as the > > "stale-while-revalidate" section or ehcache vs memcache would fit in > > nicely. > > > > Alin > > > > On 20 March 2012 16:44, Jon Moore wrote: > > > > > Hi Alin, > > > > > > Actually, as it turns out, much of this information is already in the > > > online docs: > > > > > > > http://hc.apache.org/httpcomponents-client-ga/tutorial/html/caching.html > > > > > > > > > http://hc.apache.org/httpcomponents-client-ga/tutorial/html/caching.html#storage > > > > > > Jon > > > > > > On Tue, Mar 20, 2012 at 8:19 AM, Jon Moore wrote: > > > > > > > Hi Alin, > > > > > > > > Great suggestion - I'll look into updating the documents for the 4.2 > > > > release. > > > > > > > > Jon > > > > > > > > > > > > On Sat, Mar 17, 2012 at 6:51 PM, Vasile Alin < > alinachegalati@gmail.com > > > >wrote: > > > > > > > >> would be great if http-cache will have these hints in its overview > > > >> documents. > > > >> > > > >> Alin > > > >> > > > >> On 17 March 2012 17:50, Jon Moore wrote: > > > >> > > > >> > Hi Robert, > > > >> > > > > >> > Naturally, the ultimate answer is: it depends on your scenario! > > > >> However, I > > > >> > can perhaps provide some ways of thinking about your cache > > > >> configuration. > > > >> > > > > >> > First, one of your choices will be which HttpCacheStorage > > > >> implementation(s) > > > >> > you want to use; there are 3 supported in the distribution: > > > >> > 1. an in-memory cache; this is the default implementation if you > > don't > > > >> > specify an alternative > > > >> > 2. an EhCache backend; this can be used to build a tiered > in-memory > > > and > > > >> > on-disk cache, and the on-disk can be configured to persist across > > > >> > application invocations > > > >> > 3. a memcached backend; this can be used either to keep your JVM > > heap > > > >> size > > > >> > smaller by keeping the cache memory out-of-process, or as a shared > > > >> > memcached pool for a cluster of application servers, for example > > > >> > > > > >> > Now, because the CachingHttpClient is a decorator, you can > actually > > > use > > > >> > multiple of these at the same time by wrapping them one inside the > > > >> other. > > > >> > So, for example, you can have a L1 in-memory cache backed by a L2 > > > >> EhCache > > > >> > that spills to disk. > > > >> > > > > >> > In all cases, you will want to be concerned with the total storage > > > >> > resources you want to allocate to the cache; EhCache and memcached > > > have > > > >> > their own configuration for this, but you may want to tweak this > for > > > the > > > >> > in-memory cache if that's what you use. One thing to look at is > the > > > >> maximum > > > >> > response body size that you'll cache, which currently defaults to > > 8KB; > > > >> if > > > >> > you plan on caching responses than that, you'll need to increase > > this > > > >> > setting via CacheConfig#setMaxObjectSizeBytes(). > > > >> > > > > >> > If your server(s) use the 'stale-while-revalidate' Cache-Control > > > >> directive, > > > >> > then you may want to play with > > > >> > CacheConfig#setAsynchronousWorkerIdleLifetimeSecs(), > > > >> > CacheConfig#setAsynchronousWorkersCore(), > > > >> > CacheConfig#setAsynchronousWorkersMax(), and > > > >> > CacheConfig#setRevalidationQueueSize(), all of which basically > > control > > > >> an > > > >> > underlying thread pool configuration to handle the background > > > validation > > > >> > requests. These have "safe" defaults, so you may not need to tweak > > > these > > > >> > until you get into performance tuning. > > > >> > > > > >> > Finally, if your origin servers don't set proper Cache-Control > > headers > > > >> but > > > >> > you want to cache the responses anyway, you may want to change > > > >> > CacheConfig#setHeuristicDefaultLifetime(). Another option for this > > is > > > to > > > >> > write another decorator to modify Cache-Control headers on > specific > > > >> > responses that come through, wired up between the > CachingHttpClient > > > and > > > >> the > > > >> > "real" underlying HttpClient. > > > >> > > > > >> > That said, if you just drop an unconfigured CachingHttpClient in, > > for > > > >> say, > > > >> > an API client that gets relatively small, but cacheable responses, > > you > > > >> > should hopefully see some immediate benefit just from the > in-memory > > > >> cache. > > > >> > > > > >> > Hope that helps, > > > >> > Jon > > > >> > > > > >> > On Sat, Mar 17, 2012 at 10:21 AM, Robert Naczinski < > > > >> > robert.naczinski@googlemail.com> wrote: > > > >> > > > > >> > > Hello, > > > >> > > > > > >> > > I want my application use cache, as shown below > > > >> > > > > > >> > > > > http://hc.apache.org/httpcomponents-client-ga/tutorial/html/caching.html > > > >> > . > > > >> > > > > > >> > > Does anyone know the best settings or recommendations for the > > > >> > > configuration of the cache? > > > >> > > > > > >> > > Regards, > > > >> > > > > > >> > > Robert > > > >> > > > > > >> > > > > > --------------------------------------------------------------------- > > > >> > > To unsubscribe, e-mail: > > httpclient-users-unsubscribe@hc.apache.org > > > >> > > For additional commands, e-mail: > > > httpclient-users-help@hc.apache.org > > > >> > > > > > >> > > > > > >> > > > > >> > > > > > > > > > > > > > > --047d7b343ae413b93604bbd56626--