Very weird response time pattern

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
I have set up a shop and am gettting a pretty wierd behaviour in load times.

I have a monitoring tool setup to call the front page of the shop each minut so I should not be experiencing clearing of cache that would result in JIT compiling again.

Anyways the response pattern is like this
http://i55.tinypic.com/263uiag.png

Notice the stable one day response times and then a steady increase until it is suddenly lowered again. The pattern repeats it self.
I have the website in an independant application pool.
The site is setup with release files and none debug.
The hosting company says that no app recycles is happening. Also an upload of dll's/overwriting the web.config does not interrupt the pattern.

Further more the same site from my local webserver

http://i53.tinypic.com/102t4xe.png

Notice the extremely stable response time.

Except the fact that it seems my server is much faster than the shared host (*sigh*) the remote host is following a strange pattern while my own server is stable.

Thing is how can I debug this further?
Is there some setting I can put in the web.config or something like that to see what the load is divided into
* Database load time
* Rendering
* other??

Have others experienced the same deal. Can anyone actually link me to an active shop? - I will then setup the monitoring against that shop and compare.

I am using a modified version 2.00. I have removed as many plugins as I can.

Thanks in advance!
12 years ago
I would recommend you to upgrade to 2.20 because previous 2.X versions had some performance issues.
12 years ago
It will probably just take a lot of work to upgrade due to the modified part.
I was hoping for some pointers on where to debug instead.
12 years ago
I now found the exact line in the code where the problem is

Nop.Data > EfRepository.cs > public void Insert(T entity) > _entities.Add(entity);

It seems that this takes longer and longer. I wanted to fire up an SQL Profiler on the hosted server but for obvious reason I cannot do this.

I tried to pin point what happens in this line but I can't see to make queries that takes longer than "instant".
I tried the Insert Customer query

insert [dbo].[Customer]([CustomerGuid], [Username], [Email], [Password], [PasswordFormatId], [PasswordSalt], [AdminComment], [LanguageId], [CurrencyId], [TaxDisplayTypeId], [IsTaxExempt], [VatNumber], [VatNumberStatusId], [SelectedPaymentMethodSystemName], [CheckoutAttributes], [DiscountCouponCode], [GiftCardCouponCodes], [UseRewardPointsDuringCheckout], [TimeZoneId], [AffiliateId], [Active], [Deleted], [IsSystemAccount], [SystemName], [LastIpAddress], [CreatedOnUtc], [LastLoginDateUtc], [LastActivityDateUtc], [BillingAddress_Id], [ShippingAddress_Id])
values ('{a004f25e-2e7b-43ba-8d4a-7ca9b22983e9}', null, null, null, 0, null, null, null, null, 0, 0, null,0 , null, null, null, null, 0, null, null, 0, 0, 0, null, null, '2011-01-01 00:00:00', null, '2011-01-01 00:00:00', null, null)
select [Id]
from [dbo].[Customer]
where @@ROWCOUNT > 0 and [Id] = scope_identity()

and a SELECT one. Both were executed really fast.

Any ideas ?
12 years ago
re: ...The hosting company says that no app recycles is happening
By default application pools recycle every 1740 minutes, which is 29 hours

re: ... I wanted to fire up an SQL Profiler on the hosted server but for obvious reason I cannot do this.
Why?  I use SQL Profiler on my local machine, and connect to the remote SQL Server.
12 years ago
New York wrote:
re: ...The hosting company says that no app recycles is happening
By default application pools recycle every 1740 minutes, which is 29 hours

Yes I am aware of this - I am not that sure that the hosting company is though. Anyways I don't think this is the issue as my previous post indicates.

New York wrote:

re: ... I wanted to fire up an SQL Profiler on the hosted server but for obvious reason I cannot do this.
Why?  I use SQL Profiler on my local machine, and connect to the remote SQL Server.

You need some rights on the database in order to this. My user do not have those rights.
12 years ago
*bump*
12 years ago
*bump*
12 years ago
tgfrules wrote:
*bump*


What is the question you want answered and keep bumping because of it? I agree with Andrei that you should upgrade and for future reference you can review my blog which talks about different ways to remain upgrade resistant while working with nopCommerce.

http://blog.csharpwebdeveloper.com/

Sql server express is free so you can install a local copy and profile against your local database. If your claim is that _entities.Add(...) is taking longer and longer then it is probably not the query it uses, but instead the synchronization Entity Framework does behind the scenes.

Checkout the book Entity Framework 4 in action for a good reference on EF4.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.