|
List Info
Thread: Resource contention bug?
|
|
| Resource contention bug? |

|
2006-12-07 17:43:59 |
Hibernate caching? Are you referring to the ehcache or
caching in Hibernate Session? If the latter, what effect it
has will depend on how exactly that Session is dealt with in
Blojsom. For instance, if it is closed/reopened on every
request, then the caching is minimal, but if you keep it
open for a long time, over multiple requests, then there is
some benefit there.
Sorry if I'm grilling you
Otis
----- Original Message ----
From: David Czarnecki <david blojsom.com>
To: blojsom-users <blojsom-users lists.sourceforge.net>
Sent: Thursday, December 7, 2006 12:07:21 PM
Subject: Re: [Blojsom-users] Resource contention bug?
Right, the Terracotta thing was more of a tangent.
So, aside from some Hibernate caching, there's no caching
fetcher in blojsom
3. FWIW, I haven't run into any issues on my site.
On 12/7/06 12:01 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
wrote:
> Oh, yes, please do consider memcached instead of
OSCache. I never liked using
> the limited JVM heap for caching, when I already have
memcached running. Big
> +1 for memcached!
>
> Terracotta... I didn't quite realize it is absolutely
free to use.... wow, I
> see, open-sourced it. Damn! But theirs is a JVM
clustering solution, not a
> (java/JVM-independent) cache.
>
> Are you saying 3.* has no caching at all at the moment?
>
> Otis
>
> ----- Original Message ----
> From: David Czarnecki <david blojsom.com>
> To: blojsom-users <blojsom-users lists.sourceforge.net>
> Sent: Thursday, December 7, 2006 1:36:16 AM
> Subject: Re: [Blojsom-users] Resource contention bug?
>
> If I did a cached implementation in blojsom 3.x, I'd
probably be looking at
> doing something with memcached. It might also be
something to look at
> Terracotta ( http://www.terracotta.org/
) now that it's free to add in
> clustering now that we're using Spring.
>
> On 12/6/06 11:06 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
> wrote:
>
>> Ok, strong suggestion to add at least some counts
for basic hits/misses stats
>> to 3.*. Without knowing how useful the cache is,
one can't really tweak it,
>> let alone deal with situations like mine.
>>
>> Thanks,
>> Otis
>>
>> ----- Original Message ----
>> From: David Czarnecki <david blojsom.com>
>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>> Sent: Wednesday, December 6, 2006 10:13:44 PM
>> Subject: Re: [Blojsom-users] Resource contention
bug?
>>
>> It seems like something is b0rk3d, but no, there's
not any counts maintained
>> anywhere. Sorry.
>>
>>
>> On 12/6/06 9:48 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>> wrote:
>>
>>> I've got:
>>> caching-fetcher-refresh=86400
>>> (1 day, I believe)
>>>
>>> Is there any direct way to peek and see what's
going on with the cache?
>>> For instance, are any hit/miss counts
maintained anywhere?
>>>
>>> Otis
>>>
>>> ----- Original Message ----
>>> From: David Czarnecki <david blojsom.com>
>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>> Sent: Wednesday, December 6, 2006 8:02:32 PM
>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>
>>> What is your caching-fetcher-refresh property
set to?
>>>
>>> On 12/6/06 6:55 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>> wrote:
>>>
>>>> I increased cache.capacity to 20000 and
re-run Apache benchmark. I saw a
>>>> super-modest gain - from 0.07 req/sec to
0.12 req/sec.
>>>> Any ideas? If caching is not working, this
is going to affect me even when
>>>> I
>>>> migrate to 3.0.
>>>> Is there any way to ensure/check that
caching is really in effect?
>>>>
>>>> Thanks,
>>>> Otis
>>>>
>>>> ----- Original Message ----
>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>> To: blojsom-users lists.sourceforge.net
>>>> Sent: Wednesday, December 6, 2006 4:08:32
PM
>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>
>>>> Hi,
>>>>
>>>> I thought about this little more. 0.07
req/second is just crazy, so I
>>>> thought
>>>> I'd double-check that caching is really
enabled (even though I saw OSCache
>>>> in
>>>> JVM thread dumps). Indeed, it IS enabled
as described at
>>>> http://wiki.blojsom.com/wiki/display/blojsom/Enabli
ng+Caching .
>>>>
>>>> There MUST be something wrong there. If
caching really worked, there is no
>>>> way Blojsom would be this slow. I have
cache.memory=true set in
>>>> WEB-INF/oscache.properties, so Blojsom
should be serving everything from
>>>> RAM
>>>> and really never hitting the disk, yet it
absolutely looks like it is
>>>> always
>>>> hitting the disk.
>>>>
>>>> It is not like I have a LOT of posts and
comments either, take a look:
>>>>
>>>> $ time find blojsom-blogs/otis/ -name
*html | wc -l
>>>> 218
>>>>
>>>> real 0m13.694s
>>>> user 0m1.482s
>>>> sys 0m0.748s
>>>>
>>>> That's a pretty small number, no?
Certainly a lot smaller than the cache
>>>> size
>>>> (1000) I have in oscache.properties.
>>>>
>>>> But note how long it took to get all those
files? 13-14 seconds. I run
>>>> this
>>>> a
>>>> few times with the same results. That is
indeed a long time, even for a
>>>> busy
>>>> server that simpy.com is. But more
importantly, the 13-14 seconds matches
>>>> the
>>>> mean time per request number from the
Apache benchmark results below! I
>>>> think
>>>> that shows that the cache is not really
being used.
>>>>
>>>> Poking around some more, I just learned
that there are other types of files
>>>> there:
>>>>
>>>> otis hvar ~$ time find
/simpy/blojsom-blogs/otis/ -name *meta | wc -l
>>>> 6035
>>>>
>>>> real 0m20.561s <==== woho!
>>>> user 0m1.613s
>>>> sys 0m0.769s
>>>> otis hvar ~$ time find
/simpy/blojsom-blogs/otis/ -name *cmt | wc -l
>>>> 5905
>>>>
>>>> real 0m2.344s
>>>> user 0m1.567s
>>>> sys 0m0.739s
>>>>
>>>>
>>>> Now this is leading me somewhere. Circa
6000 *meta and another 6000 *cmt
>>>> files. That DOES exceed the cache size!
Could that be the problem?
>>>> What
>>>> exactly gets cached, Dave? Given the above
numbers, what cache.capacity
>>>> value
>>>> should I use? 6000+some buffer?
6000+6000+some buffer?
>>>>
>>>> The reason I'm looking further into this is
because even if I migrate to
>>>> 3.*
>>>> version, I'll still want things cached, so
I do need to resolve this issue,
>>>> plus it may be useful for others.
>>>>
>>>> Thanks,
>>>> Otis
>>>>
>>>>
>>>> ----- Original Message ----
>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>> To: blojsom-users lists.sourceforge.net
>>>> Sent: Wednesday, December 6, 2006 3:40:16
PM
>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>
>>>> Hi,
>>>>
>>>> Just so you know what kind of performance
I'm seeing, check the output of
>>>> "ab"
>>>> (Apache benchmark). Take a look at the
requests/second number - 0.07
>>>> req/sec!
>>>> :(
>>>>
>>>> Server Software: Apache/1.3.34
>>>> Server Hostname: blog.simpy.com
>>>> Server Port: 80
>>>>
>>>> Document Path: /
>>>> Document Length: 87500 bytes
>>>>
>>>> Concurrency Level: 1
>>>> Time taken for tests: 152.436208 seconds
>>>> Complete requests: 10
>>>> Failed requests: 0
>>>> Write errors: 0
>>>> Total transferred: 878959 bytes
>>>> HTML transferred: 875000 bytes
>>>> Requests per second: 0.07 [#/sec] (mean)
>>>> Time per request: 15243.620 [ms]
(mean)
>>>> Time per request: 15243.620 [ms]
(mean, across all concurrent
>>>> requests)
>>>> Transfer rate: 5.63 [Kbytes/sec]
received
>>>>
>>>> Connection Times (ms)
>>>> min mean[+/-sd] median max
>>>> Connect: 89 95 3.4 97 101
>>>> Processing: 10732 15147 4203.1 14560
26486
>>>> Waiting: 10171 14540 4205.7 13946
25902
>>>> Total: 10830 15243 4203.5 14655
26583
>>>>
>>>> Percentage of the requests served within a
certain time (ms)
>>>> 50% 14655
>>>> 66% 14955
>>>> 75% 14978
>>>> 80% 15532
>>>> 90% 26583
>>>> 95% 26583
>>>> 98% 26583
>>>> 99% 26583
>>>> 100% 26583 (longest request)
>>>>
>>>>
>>>> ----- Original Message ----
>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>> To: blojsom-users lists.sourceforge.net
>>>> Sent: Wednesday, December 6, 2006 3:10:23
PM
>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>
>>>> Hi,
>>>>
>>>> Just for future reference, the latest
OSCache didn't help, and I still see
>>>> comment loading methods, methods that list
the content of a directory and
>>>> look
>>>> at timestamps, etc. I also often see
various Velocity classes, which makes
>>>> me
>>>> think they are slowish as well. I'll try
moving to from 2.30 to 3 as soon
>>>> as
>>>> I find time. Thanks for your quick
answers, Dave!
>>>>
>>>> Otis
>>>>
>>>> ----- Original Message ----
>>>> From: David Czarnecki <david blojsom.com>
>>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>>> Sent: Monday, December 4, 2006 2:38:20 PM
>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>
>>>> Aside from trying the new OSCache to see if
that fixes the issue, I
>>>> wouldn't
>>>> spend any more time than that.
>>>>
>>>>
>>>> On 12/4/06 2:22 PM,
"ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>> wrote:
>>>>
>>>>> Hm, then there might be a bug there.
>>>>> The servlet container was restarted a
few days ago.
>>>>> Posts on blog.simpy.com have been
requested many times since the restart.
>>>>> There have been no new nor updated blog
entries since December 2.
>>>>>
>>>>> Yeah, definitely a problem there. I
just hit blog.simpy.com (it takes
>>>>> about
>>>>> a
>>>>> minute to load right now), did kill
-QUIT <java pid> and found:
>>>>>
>>>>> "Thread-426" daemon prio=1
tid=0x6acc41d0 nid=0x7906 runnable
>>>>> [0x67dec000..0x67ded1b0]
>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:460)
>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
>>>>> at
java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:5
44)
>>>>> at
java.lang.StringCoding$CharsetSE.encode(StringCoding.java:34
2)
>>>>> at
java.lang.StringCoding.encode(StringCoding.java:378)
>>>>> at
java.lang.String.getBytes(String.java:812)
>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>> at
java.io.File.lastModified(File.java:795)
>>>>> at
>>>>>
org.blojsom.blog.FileBackedBlogComment.load(FileBackedBlogCo
mment.java:94)
>>>>> at
>>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComment(FileBackedB
logEntry.java:258>>
>
>>
>>>
>>> )
>>>>> at
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:232>
>
>>
>>>
>>>>
>>>> )
>>>>> at
>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528)
>>>>> at
>>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>> a
>>>>> :231)
>>>>> at
>>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>> a
>>>>> va:335)
>>>>>
>>>>> This looks like comments are being read
off of FS on every request.
>>>>>
>>>>> A LOT of threads stuck at the same :414
line:
>>>>>
>>>>> "Thread-422" daemon prio=1
tid=0x70773818 nid=0x78f9 waiting for monitor
>>>>> entry
>>>>> [0x681f4000..0x681f4fb0]
>>>>> at
>>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>> h
>>>>> er.java:414)
>>>>> - waiting to lock
<0x77797fe0> (a
>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>
>>>>> ... but as you said, I should try the
new OSCache.
>>>>> Is it worth (to you and me) to look
into this further now that 3.* runs
>>>>> from
>>>>> a
>>>>> DB?
>>>>>
>>>>> Thanks,
>>>>> Otis
>>>>>
>>>>> ----- Original Message ----
>>>>> From: David Czarnecki <david blojsom.com>
>>>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>>>> Sent: Monday, December 4, 2006 1:56:36
PM
>>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>>
>>>>> The loading of all the posts loads the
comments and those are cached
>>>>> blog-wide.
>>>>>
>>>>> Everything might already be in the
cache, but if you've added or update a
>>>>> blog entry, then the cache needs to
refresh.
>>>>>
>>>>>
>>>>> On 12/4/06 1:33 PM,
"ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>> wrote:
>>>>>
>>>>>> Is this a per post cache or a
blog-wide cache? That is, do you load and
>>>>>> cache
>>>>>> all comments for all posts at once,
or do you lazy-cache post comments,
>>>>>> meaning you load and cache them
only when the post is first requested?
>>>>>>
>>>>>> I'm asking, because if you do
blog-wide caching or if you cache all
>>>>>> comments
>>>>>> for all posts at once, then there
is a bug there, since everything should
>>>>>> already be cached in my case
(servlet engine was started a few days ago
>>>>>> and
>>>>>> a
>>>>>> lot of requests have been made
against blog.simpy.com). If you use the
>>>>>> lazy-loading approach, then seeing
tat thread trace below makes sense.
>>>>>> Because I see calls that refer to
"all categories" and "all entries", I
>>>>>> would
>>>>>> think comments are not cached
lazily, though.
>>>>>>
>>>>>> Thanks,
>>>>>> Otis
>>>>>>
>>>>>> ----- Original Message ----
>>>>>> From: David Czarnecki <david blojsom.com>
>>>>>> To: blojsom-users
<blojsom-users lists.sourceforge.net>
>>>>>> Sent: Monday, December 4, 2006
1:25:46 PM
>>>>>> Subject: Re: [Blojsom-users]
Resource contention bug?
>>>>>>
>>>>>> Comments, etc. are cached with the
entry. This is when data is being
>>>>>> loaded
>>>>>> in the cache.
>>>>>>
>>>>>> On 12/4/06 12:55 PM,
"ogjunk-blojsom yahoo.com"
>>>>>> <ogjunk-blojsom yahoo.com>
>>>>>> wrote:
>>>>>>
>>>>>>>> From that thread dump, it
looked like it might be the way Blojsom is
>>>>>>>> calling
>>>>>>>> OSCache that's the problem,
but maybe I misinterpreted the output.
>>>>>>> I think there are a few other
places where there's room for
>>>>>>> optimization,
>>>>>>> although I'm not sure about the
priority of this stuff now that 3.* is
>>>>>>> based
>>>>>>> on DB, and not FS any more:
>>>>>>>
>>>>>>> "Thread-402" daemon
prio=1 tid=0x6fc29eb0 nid=0x731c runnable
>>>>>>> [0x68afc000..0x68afcf30]
>>>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>>>> at
java.io.File.lastModified(File.java:795)
>>>>>>> at
>>>>>>>
org.blojsom.util.BlojsomUtils$1.compare(BlojsomUtils.java:10
24)
>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1307)
>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>> at
java.util.Arrays.sort(Arrays.java:1223)
>>>>>>> at
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:226>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> )
>>>>>>> at
>>>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528)
>>>>>>> at
>>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>>>
>>>>>
>>>>> a
>>>>>>> :231)
>>>>>>> at
>>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>>>
>>>>>
>>>>> a
>>>>>>> va:335)
>>>>>>> at
>>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>> h
>>>>>>> er.java:415)
>>>>>>> - locked
<0x77797fe0> (a
>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>
>>>>>>>
>>>>>>> Those java.io.* calls show we
are hitting the FS, and those two .load*
>>>>>>> method
>>>>>>> calls are frequently seen in my
thread dumps. That is likely because
>>>>>>> blog.simpy.com has a pretty
busy FS, so things get slow in there. I'd
>>>>>>> imagine
>>>>>>> you'd want to cache comments,
though, as they typically don't change
>>>>>>> that
>>>>>>> frequently, expiring them only
when a new comment gets added, perhaps.
>>>>>>> Maybe
>>>>>>> that's already doable, and I
just haven't configured it properly to
>>>>>>> cache
>>>>>>> comments, too?
>>>>>>>
>>>>>>> Otis
>>>>>>>
>>>>>>>
>>>>>>> ----- Original Message ----
>>>>>>> From: David Czarnecki
<david blojsom.com>
>>>>>>> To: blojsom-users
<blojsom-users lists.sourceforge.net>
>>>>>>> Sent: Monday, December 4, 2006
11:33:44 AM
>>>>>>> Subject: Re: [Blojsom-users]
Resource contention bug?
>>>>>>>
>>>>>>> The OSCache references in the
lock waiting make me think it's an issue
>>>>>>> with
>>>>>>> OSCache. D'you try using
OSCache 2.3.2?
>>>>>>>
>>>>>>> <h
ttp://opensymphony.com/oscache/download.action>
>>>>>>>
>>>>>>> On 12/4/06 12:20 AM,
"ogjunk-blojsom yahoo.com"
>>>>>>> <ogjunk-blojsom yahoo.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> This may be just something
for Dave to look at, but maybe others would
>>>>>>>> be
>>>>>>>> interested, too. I run
Blojsom 2.30 at http://blog.simpy.com/
under
>>>>>>>> Jetty.
>>>>>>>> I've noticed that right
after I restart the servlet container the load
>>>>>>>> shoots
>>>>>>>> up, so I decided to see
what the JVM is doing with kill -QUIT . I did
>>>>>>>> that
>>>>>>>> on
>>>>>>>> a few occasions and often
saw Blojsom in states like these:
>>>>>>>>
>>>>>>>>
>>>>>>>> Full thread dump Java
HotSpot(TM) Server VM (1.5.0_08-b03 mixed mode):
>>>>>>>>
>>>>>>>> "Thread-410"
daemon prio=1 tid=0x6cbc3cd8 nid=0x4f21 runnable
>>>>>>>> [0x5e2f6000..0x5e2f6fb0]
>>>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:460)
>>>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
>>>>>>>> at
>>>>>>>>
java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:5
44)
>>>>>>>> at
>>>>>>>>
java.lang.StringCoding$CharsetSE.encode(StringCoding.java:34
2)
>>>>>>>> at
java.lang.StringCoding.encode(StringCoding.java:378)
>>>>>>>> at
java.lang.String.getBytes(String.java:812)
>>>>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>>>>> at
java.io.File.lastModified(File.java:795)
>>>>>>>> at
>>>>>>>>
org.blojsom.util.BlojsomUtils$1.compare(BlojsomUtils.java:10
23)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1307)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>> at
java.util.Arrays.sort(Arrays.java:1223)
>>>>>>>> at
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:226>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> )
>>>>>>>> at
>>>>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> a
>>>>>>>> :231)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> a
>>>>>>>> va:335)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> h
>>>>>>>> er.java:415)
>>>>>>>> - locked
<0x74595af0> (a
>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>
>>>>>>>> "Thread-409"
daemon prio=1 tid=0x6c55f550 nid=0x4f20 waiting for
>>>>>>>> monitor
>>>>>>>> entry
>>>>>>>> [0x5e377000..0x5e377f30]
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> h
>>>>>>>> er.java:414)
>>>>>>>> - waiting to lock
<0x74595af0> (a
>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>
>>>>>>>> "Thread-408"
daemon prio=1 tid=0x6222bf60 nid=0x4ef0 waiting for
>>>>>>>> monitor
>>>>>>>> entry
>>>>>>>> [0x5e3f8000..0x5e3f8eb0]
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> h
>>>>>>>> er.java:414)
>>>>>>>> - waiting to lock
<0x74595af0> (a
>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>
>>>>>>>> ....
>>>>>>>>
>>>>>>>> Note Thread-409|408, Dave.
I often see dozens of these locked at the
>>>>>>>> exact
>>>>>>>> same point/line. I haven't
looked at the source, but it feels like
>>>>>>>> some
>>>>>>>> resource contention issue
that you may want to investigate.
>>>>>>>>
>>>>>>>> Otis
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>
------------------------------------------------------------
------------>>>>>>>
>
> -
>>>>>>>> Take Surveys. Earn Cash.
Influence the Future of IT
>>>>>>>> Join SourceForge.net's
Techsay panel and you'll get the chance to share
>>>>>>>> your
>>>>>>>> opinions on IT &
business topics through brief surveys - and earn cash
>>>>>>>>
>
http
://www.techsay.com/default.php?page=join.php&p=sourcefor
ge&CID=DEVDE>>>>>>>
>
> V
>>>>>>>>
_______________________________________________
>>>>>>>> Blojsom-users mailing list
>>>>>>>> Blojsom-users lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/blojsom-u
sers
--
David Czarnecki
http://www.blojsom.com/b
log/ | http://blojsom.sf.net
------------------------------------------------------------
-------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the
chance to share your
opinions on IT & business topics through brief surveys -
and earn cash
http://www.techsay.com/default.
php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Blojsom-users mailing list
Blojsom-users lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/blojsom-u
sers
------------------------------------------------------------
-------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the
chance to share your
opinions on IT & business topics through brief surveys -
and earn cash
http://www.techsay.com/default.
php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Blojsom-users mailing list
Blojsom-users lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/blojsom-u
sers
|
|
| Resource contention bug? |

|
2006-12-07 18:04:48 |
Ehcache.
On 12/7/06 12:43 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
wrote:
> Hibernate caching? Are you referring to the ehcache or
caching in Hibernate
> Session? If the latter, what effect it has will depend
on how exactly that
> Session is dealt with in Blojsom. For instance, if it
is closed/reopened on
> every request, then the caching is minimal, but if you
keep it open for a long
> time, over multiple requests, then there is some
benefit there.
> Sorry if I'm grilling you
>
> Otis
>
>
> ----- Original Message ----
> From: David Czarnecki <david blojsom.com>
> To: blojsom-users <blojsom-users lists.sourceforge.net>
> Sent: Thursday, December 7, 2006 12:07:21 PM
> Subject: Re: [Blojsom-users] Resource contention bug?
>
> Right, the Terracotta thing was more of a tangent.
>
> So, aside from some Hibernate caching, there's no
caching fetcher in blojsom
> 3. FWIW, I haven't run into any issues on my site.
>
> On 12/7/06 12:01 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
> wrote:
>
>> Oh, yes, please do consider memcached instead of
OSCache. I never liked
>> using
>> the limited JVM heap for caching, when I already
have memcached running. Big
>> +1 for memcached!
>>
>> Terracotta... I didn't quite realize it is
absolutely free to use.... wow, I
>> see, open-sourced it. Damn! But theirs is a JVM
clustering solution, not a
>> (java/JVM-independent) cache.
>>
>> Are you saying 3.* has no caching at all at the
moment?
>>
>> Otis
>>
>> ----- Original Message ----
>> From: David Czarnecki <david blojsom.com>
>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>> Sent: Thursday, December 7, 2006 1:36:16 AM
>> Subject: Re: [Blojsom-users] Resource contention
bug?
>>
>> If I did a cached implementation in blojsom 3.x,
I'd probably be looking at
>> doing something with memcached. It might also be
something to look at
>> Terracotta ( http://www.terracotta.org/
) now that it's free to add in
>> clustering now that we're using Spring.
>>
>> On 12/6/06 11:06 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>> wrote:
>>
>>> Ok, strong suggestion to add at least some
counts for basic hits/misses
>>> stats
>>> to 3.*. Without knowing how useful the cache
is, one can't really tweak it,
>>> let alone deal with situations like mine.
>>>
>>> Thanks,
>>> Otis
>>>
>>> ----- Original Message ----
>>> From: David Czarnecki <david blojsom.com>
>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>> Sent: Wednesday, December 6, 2006 10:13:44 PM
>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>
>>> It seems like something is b0rk3d, but no,
there's not any counts maintained
>>> anywhere. Sorry.
>>>
>>>
>>> On 12/6/06 9:48 PM, "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>> wrote:
>>>
>>>> I've got:
>>>> caching-fetcher-refresh=86400
>>>> (1 day, I believe)
>>>>
>>>> Is there any direct way to peek and see
what's going on with the cache?
>>>> For instance, are any hit/miss counts
maintained anywhere?
>>>>
>>>> Otis
>>>>
>>>> ----- Original Message ----
>>>> From: David Czarnecki <david blojsom.com>
>>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>>> Sent: Wednesday, December 6, 2006 8:02:32
PM
>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>
>>>> What is your caching-fetcher-refresh
property set to?
>>>>
>>>> On 12/6/06 6:55 PM,
"ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>> wrote:
>>>>
>>>>> I increased cache.capacity to 20000 and
re-run Apache benchmark. I saw a
>>>>> super-modest gain - from 0.07 req/sec
to 0.12 req/sec.
>>>>> Any ideas? If caching is not working,
this is going to affect me even
>>>>> when
>>>>> I
>>>>> migrate to 3.0.
>>>>> Is there any way to ensure/check that
caching is really in effect?
>>>>>
>>>>> Thanks,
>>>>> Otis
>>>>>
>>>>> ----- Original Message ----
>>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>> To: blojsom-users lists.sourceforge.net
>>>>> Sent: Wednesday, December 6, 2006
4:08:32 PM
>>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>>
>>>>> Hi,
>>>>>
>>>>> I thought about this little more. 0.07
req/second is just crazy, so I
>>>>> thought
>>>>> I'd double-check that caching is really
enabled (even though I saw OSCache
>>>>> in
>>>>> JVM thread dumps). Indeed, it IS
enabled as described at
>>>>> http://wiki.blojsom.com/wiki/display/blojsom/Enabli
ng+Caching .
>>>>>
>>>>> There MUST be something wrong there.
If caching really worked, there is
>>>>> no
>>>>> way Blojsom would be this slow. I have
cache.memory=true set in
>>>>> WEB-INF/oscache.properties, so Blojsom
should be serving everything from
>>>>> RAM
>>>>> and really never hitting the disk, yet
it absolutely looks like it is
>>>>> always
>>>>> hitting the disk.
>>>>>
>>>>> It is not like I have a LOT of posts
and comments either, take a look:
>>>>>
>>>>> $ time find blojsom-blogs/otis/ -name
*html | wc -l
>>>>> 218
>>>>>
>>>>> real 0m13.694s
>>>>> user 0m1.482s
>>>>> sys 0m0.748s
>>>>>
>>>>> That's a pretty small number, no?
Certainly a lot smaller than the cache
>>>>> size
>>>>> (1000) I have in oscache.properties.
>>>>>
>>>>> But note how long it took to get all
those files? 13-14 seconds. I run
>>>>> this
>>>>> a
>>>>> few times with the same results. That
is indeed a long time, even for a
>>>>> busy
>>>>> server that simpy.com is. But more
importantly, the 13-14 seconds matches
>>>>> the
>>>>> mean time per request number from the
Apache benchmark results below! I
>>>>> think
>>>>> that shows that the cache is not really
being used.
>>>>>
>>>>> Poking around some more, I just learned
that there are other types of
>>>>> files
>>>>> there:
>>>>>
>>>>> otis hvar ~$ time find
/simpy/blojsom-blogs/otis/ -name *meta | wc -l
>>>>> 6035
>>>>>
>>>>> real 0m20.561s <==== woho!
>>>>> user 0m1.613s
>>>>> sys 0m0.769s
>>>>> otis hvar ~$ time find
/simpy/blojsom-blogs/otis/ -name *cmt | wc -l
>>>>> 5905
>>>>>
>>>>> real 0m2.344s
>>>>> user 0m1.567s
>>>>> sys 0m0.739s
>>>>>
>>>>>
>>>>> Now this is leading me somewhere.
Circa 6000 *meta and another 6000 *cmt
>>>>> files. That DOES exceed the cache
size! Could that be the problem?
>>>>> What
>>>>> exactly gets cached, Dave? Given the
above numbers, what cache.capacity
>>>>> value
>>>>> should I use? 6000+some buffer?
6000+6000+some buffer?
>>>>>
>>>>> The reason I'm looking further into
this is because even if I migrate to
>>>>> 3.*
>>>>> version, I'll still want things cached,
so I do need to resolve this
>>>>> issue,
>>>>> plus it may be useful for others.
>>>>>
>>>>> Thanks,
>>>>> Otis
>>>>>
>>>>>
>>>>> ----- Original Message ----
>>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>> To: blojsom-users lists.sourceforge.net
>>>>> Sent: Wednesday, December 6, 2006
3:40:16 PM
>>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>>
>>>>> Hi,
>>>>>
>>>>> Just so you know what kind of
performance I'm seeing, check the output of
>>>>> "ab"
>>>>> (Apache benchmark). Take a look at the
requests/second number - 0.07
>>>>> req/sec!
>>>>> :(
>>>>>
>>>>> Server Software: Apache/1.3.34
>>>>> Server Hostname: blog.simpy.com
>>>>> Server Port: 80
>>>>>
>>>>> Document Path: /
>>>>> Document Length: 87500 bytes
>>>>>
>>>>> Concurrency Level: 1
>>>>> Time taken for tests: 152.436208
seconds
>>>>> Complete requests: 10
>>>>> Failed requests: 0
>>>>> Write errors: 0
>>>>> Total transferred: 878959 bytes
>>>>> HTML transferred: 875000 bytes
>>>>> Requests per second: 0.07 [#/sec]
(mean)
>>>>> Time per request: 15243.620 [ms]
(mean)
>>>>> Time per request: 15243.620 [ms]
(mean, across all concurrent
>>>>> requests)
>>>>> Transfer rate: 5.63
[Kbytes/sec] received
>>>>>
>>>>> Connection Times (ms)
>>>>> min mean[+/-sd] median
max
>>>>> Connect: 89 95 3.4 97
101
>>>>> Processing: 10732 15147 4203.1 14560
26486
>>>>> Waiting: 10171 14540 4205.7 13946
25902
>>>>> Total: 10830 15243 4203.5 14655
26583
>>>>>
>>>>> Percentage of the requests served
within a certain time (ms)
>>>>> 50% 14655
>>>>> 66% 14955
>>>>> 75% 14978
>>>>> 80% 15532
>>>>> 90% 26583
>>>>> 95% 26583
>>>>> 98% 26583
>>>>> 99% 26583
>>>>> 100% 26583 (longest request)
>>>>>
>>>>>
>>>>> ----- Original Message ----
>>>>> From: "ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>> To: blojsom-users lists.sourceforge.net
>>>>> Sent: Wednesday, December 6, 2006
3:10:23 PM
>>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>>
>>>>> Hi,
>>>>>
>>>>> Just for future reference, the latest
OSCache didn't help, and I still see
>>>>> comment loading methods, methods that
list the content of a directory and
>>>>> look
>>>>> at timestamps, etc. I also often see
various Velocity classes, which
>>>>> makes
>>>>> me
>>>>> think they are slowish as well. I'll
try moving to from 2.30 to 3 as soon
>>>>> as
>>>>> I find time. Thanks for your quick
answers, Dave!
>>>>>
>>>>> Otis
>>>>>
>>>>> ----- Original Message ----
>>>>> From: David Czarnecki <david blojsom.com>
>>>>> To: blojsom-users <blojsom-users lists.sourceforge.net>
>>>>> Sent: Monday, December 4, 2006 2:38:20
PM
>>>>> Subject: Re: [Blojsom-users] Resource
contention bug?
>>>>>
>>>>> Aside from trying the new OSCache to
see if that fixes the issue, I
>>>>> wouldn't
>>>>> spend any more time than that.
>>>>>
>>>>>
>>>>> On 12/4/06 2:22 PM,
"ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>> wrote:
>>>>>
>>>>>> Hm, then there might be a bug
there.
>>>>>> The servlet container was restarted
a few days ago.
>>>>>> Posts on blog.simpy.com have been
requested many times since the restart.
>>>>>> There have been no new nor updated
blog entries since December 2.
>>>>>>
>>>>>> Yeah, definitely a problem there.
I just hit blog.simpy.com (it takes
>>>>>> about
>>>>>> a
>>>>>> minute to load right now), did kill
-QUIT <java pid> and found:
>>>>>>
>>>>>> "Thread-426" daemon
prio=1 tid=0x6acc41d0 nid=0x7906 runnable
>>>>>> [0x67dec000..0x67ded1b0]
>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:460)
>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
>>>>>> at
>>>>>>
java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:5
44)
>>>>>> at
java.lang.StringCoding$CharsetSE.encode(StringCoding.java:34
2)
>>>>>> at
java.lang.StringCoding.encode(StringCoding.java:378)
>>>>>> at
java.lang.String.getBytes(String.java:812)
>>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>>> at
java.io.File.lastModified(File.java:795)
>>>>>> at
>>>>>>
org.blojsom.blog.FileBackedBlogComment.load(FileBackedBlogCo
mment.java:94>>>>>>
)
>>>>>> at
>>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComment(FileBackedB
logEntry.java:258>>
>
>>
>>>
>>>>
>>>> )
>>>>>> at
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:232>
>
>>
>>>
>>>>
>>>>>
>>>>> )
>>>>>> at
>>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528)
>>>>>> at
>>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>>>
>>>> a
>>>>>> :231)
>>>>>> at
>>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>>>
>>>> a
>>>>>> va:335)
>>>>>>
>>>>>> This looks like comments are being
read off of FS on every request.
>>>>>>
>>>>>> A LOT of threads stuck at the same
:414 line:
>>>>>>
>>>>>> "Thread-422" daemon
prio=1 tid=0x70773818 nid=0x78f9 waiting for monitor
>>>>>> entry
>>>>>> [0x681f4000..0x681f4fb0]
>>>>>> at
>>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>> h
>>>>>> er.java:414)
>>>>>> - waiting to lock
<0x77797fe0> (a
>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>
>>>>>> ... but as you said, I should try
the new OSCache.
>>>>>> Is it worth (to you and me) to look
into this further now that 3.* runs
>>>>>> from
>>>>>> a
>>>>>> DB?
>>>>>>
>>>>>> Thanks,
>>>>>> Otis
>>>>>>
>>>>>> ----- Original Message ----
>>>>>> From: David Czarnecki <david blojsom.com>
>>>>>> To: blojsom-users
<blojsom-users lists.sourceforge.net>
>>>>>> Sent: Monday, December 4, 2006
1:56:36 PM
>>>>>> Subject: Re: [Blojsom-users]
Resource contention bug?
>>>>>>
>>>>>> The loading of all the posts loads
the comments and those are cached
>>>>>> blog-wide.
>>>>>>
>>>>>> Everything might already be in the
cache, but if you've added or update a
>>>>>> blog entry, then the cache needs to
refresh.
>>>>>>
>>>>>>
>>>>>> On 12/4/06 1:33 PM,
"ogjunk-blojsom yahoo.com" <ogjunk-blojsom yahoo.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Is this a per post cache or a
blog-wide cache? That is, do you load and
>>>>>>> cache
>>>>>>> all comments for all posts at
once, or do you lazy-cache post comments,
>>>>>>> meaning you load and cache them
only when the post is first requested?
>>>>>>>
>>>>>>> I'm asking, because if you do
blog-wide caching or if you cache all
>>>>>>> comments
>>>>>>> for all posts at once, then
there is a bug there, since everything
>>>>>>> should
>>>>>>> already be cached in my case
(servlet engine was started a few days ago
>>>>>>> and
>>>>>>> a
>>>>>>> lot of requests have been made
against blog.simpy.com). If you use the
>>>>>>> lazy-loading approach, then
seeing tat thread trace below makes sense.
>>>>>>> Because I see calls that refer
to "all categories" and "all entries", I
>>>>>>> would
>>>>>>> think comments are not cached
lazily, though.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Otis
>>>>>>>
>>>>>>> ----- Original Message ----
>>>>>>> From: David Czarnecki
<david blojsom.com>
>>>>>>> To: blojsom-users
<blojsom-users lists.sourceforge.net>
>>>>>>> Sent: Monday, December 4, 2006
1:25:46 PM
>>>>>>> Subject: Re: [Blojsom-users]
Resource contention bug?
>>>>>>>
>>>>>>> Comments, etc. are cached with
the entry. This is when data is being
>>>>>>> loaded
>>>>>>> in the cache.
>>>>>>>
>>>>>>> On 12/4/06 12:55 PM,
"ogjunk-blojsom yahoo.com"
>>>>>>> <ogjunk-blojsom yahoo.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>> From that thread dump,
it looked like it might be the way Blojsom is
>>>>>>>>> calling
>>>>>>>>> OSCache that's the
problem, but maybe I misinterpreted the output.
>>>>>>>> I think there are a few
other places where there's room for
>>>>>>>> optimization,
>>>>>>>> although I'm not sure about
the priority of this stuff now that 3.* is
>>>>>>>> based
>>>>>>>> on DB, and not FS any more:
>>>>>>>>
>>>>>>>> "Thread-402"
daemon prio=1 tid=0x6fc29eb0 nid=0x731c runnable
>>>>>>>> [0x68afc000..0x68afcf30]
>>>>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>>>>> at
java.io.File.lastModified(File.java:795)
>>>>>>>> at
>>>>>>>>
org.blojsom.util.BlojsomUtils$1.compare(BlojsomUtils.java:10
24)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1307)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>> at
java.util.Arrays.sort(Arrays.java:1223)
>>>>>>>> at
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:226>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> )
>>>>>>>> at
>>>>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> a
>>>>>>>> :231)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> a
>>>>>>>> va:335)
>>>>>>>> at
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>> h
>>>>>>>> er.java:415)
>>>>>>>> - locked
<0x77797fe0> (a
>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>
>>>>>>>>
>>>>>>>> Those java.io.* calls show
we are hitting the FS, and those two .load*
>>>>>>>> method
>>>>>>>> calls are frequently seen
in my thread dumps. That is likely because
>>>>>>>> blog.simpy.com has a pretty
busy FS, so things get slow in there. I'd
>>>>>>>> imagine
>>>>>>>> you'd want to cache
comments, though, as they typically don't change
>>>>>>>> that
>>>>>>>> frequently, expiring them
only when a new comment gets added, perhaps.
>>>>>>>> Maybe
>>>>>>>> that's already doable, and
I just haven't configured it properly to
>>>>>>>> cache
>>>>>>>> comments, too?
>>>>>>>>
>>>>>>>> Otis
>>>>>>>>
>>>>>>>>
>>>>>>>> ----- Original Message ----
>>>>>>>> From: David Czarnecki
<david blojsom.com>
>>>>>>>> To: blojsom-users
<blojsom-users lists.sourceforge.net>
>>>>>>>> Sent: Monday, December 4,
2006 11:33:44 AM
>>>>>>>> Subject: Re:
[Blojsom-users] Resource contention bug?
>>>>>>>>
>>>>>>>> The OSCache references in
the lock waiting make me think it's an issue
>>>>>>>> with
>>>>>>>> OSCache. D'you try using
OSCache 2.3.2?
>>>>>>>>
>>>>>>>> <h
ttp://opensymphony.com/oscache/download.action>
>>>>>>>>
>>>>>>>> On 12/4/06 12:20 AM,
"ogjunk-blojsom yahoo.com"
>>>>>>>> <ogjunk-blojsom yahoo.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> This may be just
something for Dave to look at, but maybe others would
>>>>>>>>> be
>>>>>>>>> interested, too. I run
Blojsom 2.30 at http://blog.simpy.com/
under
>>>>>>>>> Jetty.
>>>>>>>>> I've noticed that right
after I restart the servlet container the load
>>>>>>>>> shoots
>>>>>>>>> up, so I decided to see
what the JVM is doing with kill -QUIT . I did
>>>>>>>>> that
>>>>>>>>> on
>>>>>>>>> a few occasions and
often saw Blojsom in states like these:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Full thread dump Java
HotSpot(TM) Server VM (1.5.0_08-b03 mixed mode):
>>>>>>>>>
>>>>>>>>> "Thread-410"
daemon prio=1 tid=0x6cbc3cd8 nid=0x4f21 runnable
>>>>>>>>>
[0x5e2f6000..0x5e2f6fb0]
>>>>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:460)
>>>>>>>>> at
sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
>>>>>>>>> at
>>>>>>>>>
java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:5
44)
>>>>>>>>> at
>>>>>>>>>
java.lang.StringCoding$CharsetSE.encode(StringCoding.java:34
2)
>>>>>>>>> at
java.lang.StringCoding.encode(StringCoding.java:378)
>>>>>>>>> at
java.lang.String.getBytes(String.java:812)
>>>>>>>>> at
java.io.UnixFileSystem.getLastModifiedTime(Native Method)
>>>>>>>>> at
java.io.File.lastModified(File.java:795)
>>>>>>>>> at
>>>>>>>>>
org.blojsom.util.BlojsomUtils$1.compare(BlojsomUtils.java:10
23)
>>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1307)
>>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>>> at
java.util.Arrays.mergeSort(Arrays.java:1296)
>>>>>>>>> at
java.util.Arrays.sort(Arrays.java:1223)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.blog.FileBackedBlogEntry.loadComments(FileBacked
BlogEntry.java:226>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> )
>>>>>>>>> at
>>>>>>>>>
org.blojsom.blog.FileBackedBlogEntry.load(FileBackedBlogEntr
y.java:528>>>>>>>>>
)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesForCategory(St
andardFetcher.jav>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> a
>>>>>>>>> :231)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.StandardFetcher.getEntriesAllCategories(
StandardFetcher.j>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> a
>>>>>>>>> va:335)
>>>>>>>>> at
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> h
>>>>>>>>> er.java:415)
>>>>>>>>> - locked
<0x74595af0> (a
>>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>>
>>>>>>>>> "Thread-409"
daemon prio=1 tid=0x6c55f550 nid=0x4f20 waiting for
>>>>>>>>> monitor
>>>>>>>>> entry
>>>>>>>>>
[0x5e377000..0x5e377f30]
>>>>>>>>> at
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> h
>>>>>>>>> er.java:414)
>>>>>>>>> - waiting to
lock <0x74595af0> (a
>>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>>
>>>>>>>>> "Thread-408"
daemon prio=1 tid=0x6222bf60 nid=0x4ef0 waiting for
>>>>>>>>> monitor
>>>>>>>>> entry
>>>>>>>>>
[0x5e3f8000..0x5e3f8eb0]
>>>>>>>>> at
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
org.blojsom.fetcher.CachingFetcher$AllCategoriesFetcherThrea
d.run(CachingFetc>>
>
>>
>>>
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> h
>>>>>>>>> er.java:414)
>>>>>>>>> - waiting to
lock <0x74595af0> (a
>>>>>>>>>
com.opensymphony.oscache.general.GeneralCacheAdministrator)
>>>>>>>>> at
java.lang.Thread.run(Thread.java:595)
>>>>>>>>>
>>>>>>>>> ....
>>>>>>>>>
>>>>>>>>> Note Thread-409|408,
Dave. I often see dozens of these locked at the
>>>>>>>>> exact
>>>>>>>>> same point/line. I
haven't looked at the source, but it feels like
>>>>>>>>> some
>>>>>>>>> resource contention
issue that you may want to investigate.
>>>>>>>>>
>>>>>>>>> Otis
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>
>
------------------------------------------------------------
------------>>>>>>>
>
>>
>> -
>>>>>>>>> Take Surveys. Earn
Cash. Influence the Future of IT
>>>>>>>>> Join SourceForge.net's
Techsay panel and you'll get the chance to
>>>>>>>>> share
>>>>>>>>> your
>>>>>>>>> opinions on IT &
business topics through brief surveys - and earn cash
>>>>>>>>>
>>
>
http
://www.techsay.com/default.php?page=join.php&p=sourcefor
ge&CID=DEVDE>>>>>>>
>
>>
>> V
>>>>>>>>>
_______________________________________________
>>>>>>>>> Blojsom-users mailing
list
>>>>>>>>> Blojsom-users lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/blojsom-u
sers
--
David Czarnecki
http://www.blojsom.com/b
log/ | http://blojsom.sf.net
------------------------------------------------------------
-------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the
chance to share your
opinions on IT & business topics through brief surveys -
and earn cash
http://www.techsay.com/default.
php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Blojsom-users mailing list
Blojsom-users lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/blojsom-u
sers
|
|
[1-2]
|
|