Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread edbsrvr heavy on the cpu, using ASP.NET
Tue, Jan 27 2009 9:08 AMPermanent Link

"Jan-Erik Johansen"
Hi,

I've got a table with lots of images ranging in size from ~20-300KB.
(thumbs are typically 10-30KB, full size image is 60KB up to 300KB)

While displaying thumb-images in a browser, edbsrvr is constantly using +50%
CPU.
A normal query retreives 20-60 "thumb" images at a time.
(a full page of images having 60 thumbs consumes 18seconds of cpu time)

I've tried changing:
Blob size from the default 1024 to 8192.
Maximum Blob Buffer Pool Size's up to 64MB
Maximum Row Buffer Size from default up to 512KB
Maximum Index Buffer Pool Size up to 128KB

None of this helped.
Are there any other tweaks that I'm not aware of?

It might be the imaging control that I'm using, however, edbsrvr is the
process that consumes the cpu time.

--
Jan-Erik

Using DAC 2.07 (Unicode), Windows Server 2008 (IIS7), VS2008 SP1.
Wed, Jan 28 2009 8:10 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Jan

I have no answers, just more questions Smiley
Are you using blob compression? What compression level?
Also, what's the images format?

--
Fernando Dias
[Team Elevate]

Wed, Jan 28 2009 8:30 AMPermanent Link

"Jan-Erik Johansen"
"Fernando Dias" wrote
> I have no answers, just more questions Smiley
> Are you using blob compression? What compression level?
> Also, what's the images format?

Fernando,

The images are mainly jpeg's so compression should not be enabled (unless it
is on by default, the answer would be "no compression".)
I'll check it up.
update: Blob Compression Level is set to "None"

Again, it is not necessarily an ElavateDB issue, although it seems like it
is.

Do you have any preference/personal experience regarding block size/buffer
pool size?

--
Jan-Erik
Wed, Jan 28 2009 11:10 AMPermanent Link

Fernando Dias

Team Elevate Team Elevate

Jan-Erik,

> update: Blob Compression Level is set to "None"
So, it seems the problem is not caused by the extra work of
compressing/decompressing blobs.

> Do you have any preference/personal experience regarding block
> size/buffer pool size?
No. I have only one app that stores jpeg images using blobs but they are
shown one at a time so I never had any problems.

Anyway, I would try a BLOB BLOCK SIZE of 16k or 32k, since your smallest
images are in the range 10-30k, and see if it makes any difference.

--
Fernando Dias
[Team Elevate]
Sat, Feb 7 2009 2:45 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jan-Erik,

<< I've got a table with lots of images ranging in size from ~20-300KB.
(thumbs are typically 10-30KB, full size image is 60KB up to 300KB)

While displaying thumb-images in a browser, edbsrvr is constantly using
+50% CPU.

A normal query retreives 20-60 "thumb" images at a time.
(a full page of images having 60 thumbs consumes 18seconds of cpu time) >>

The increase in BLOB block size should help the most, and 8k should be
sufficient.  Do you have an example of this table and front-end that you can
send me ?  I can at least analyse what the server is doing and get you an
answer.  This type of thing should be a fairly simple process.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Feb 11 2009 6:13 PMPermanent Link

"Jan-Erik Johansen"
"Tim Young [Elevate Software]" wrote:
> The increase in BLOB block size should help the most, and 8k should be
> sufficient.  Do you have an example of this table and front-end that you
> can send me ?  I can at least analyse what the server is doing and get you
> an answer.  This type of thing should be a fairly simple process.

Tim,

I've been busy getting the website online and things are looking better than
initially.

This evening there were 40.000 sessions in ~5 hours.
At most there were 40+ sessions simultaneously. (EDBServer sessions)

All went well but I'm going to put the data on a Intel X25-E SSD.

I found that there was a compression setting in the connectionstring and I
changed it from compression=6 to compression=0 and that helped a bit.
The thing that helped the most was fine-tuning the cached data sources.
I can't remember turning on the compression in the connectionstring, is it
on by default?

When things settles down I'll try changing compression back to 6 or
something similar, if this impacts the cpu I'll send you the necessary code.

--
Jan-Erik
Fri, Feb 13 2009 2:29 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jan-Erik,

<< I found that there was a compression setting in the connectionstring and
I changed it from compression=6 to compression=0 and that helped a bit.The
thing that helped the most was fine-tuning the cached data sources.  I can't
remember turning on the compression in the connectionstring, is it on by
default? >>

Hmm, yes it is defaulting to 6 when you use the EDBConnectionStringBuilder.
I'll change that so that it matches the VCL products which use a default of
0.

<< When things settles down I'll try changing compression back to 6 or
something similar, if this impacts the cpu I'll send you the necessary code.
>>

Well, that compression setting could have caused some pretty serious CPU
consumption if the load was heavy enough, so that may have been the cause.

Thanks,

--
Tim Young
Elevate Software
www.elevatesoft.com

Image