Jump to content

Poor Performance On The Site


wilkintj

Recommended Posts

First off ... love the site, it's awesome, so thank you. Recently though, the site has been terribly slow while trying to log finds / travel bugs. It seems like anytime I'm updating the database I get errors many more times than not and I have to re-type everything, and submit again, wait for it to error out, repeat, until it finally works. I've spent 20 minutes already this evening trying to log my finds for the day and I'm only on #2 of 7. Help please! BTW, the most recent error is below and it came while trying to log a TB retrieval.

 

Server Error in '/' Application.

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 

[sqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]

System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +742

System.Data.SqlClient.SqlCommand.ExecuteScalar() +177

Groundspeak.Web.SqlData.SqlConnectionManager.ExecuteScalar(String sql, Database database) +123

Groundspeak.Web.SqlData.SqlWaypointController.WptLogExists(Guid LogGUID, WptDataSources Datasource) +146

Groundspeak.Web.GPX.WptLog.Create(Guid LogGUID, Int64 OwnerID, Int64 WptRefID, DateTime LogDate, Int64 LogTypeID, String Note, Boolean IsEncrypted, Boolean OwnerCannotDelete, Int64 ObjWptID, WptDataSources DataSource, Double Latitude, Double Longitude) +59

Geocaching.UI.LogBookPanel.CreateNewLog(Boolean CheckConfirm) +1609

Geocaching.UI.LogBookPanel.LogButton_Click(Object sender, EventArgs e) +43

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +58

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain() +1292

Link to comment

Here's the next error I get ...

 

Server Error in '/' Application.

Transaction (Process ID 389) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Data.SqlClient.SqlException: Transaction (Process ID 389) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 

[sqlException: Transaction (Process ID 389) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.]

System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +180

Groundspeak.Web.SqlData.SqlConnectionManager.ExecuteNonQuery(String sql, Database database) +148

Groundspeak.Web.SqlData.SqlWaypointController.CreateLogData(Guid LogGUID, Int64 WptRefID, Int64 OwnerID, DateTime LogDate, Int64 LogTypeID, String Note, Boolean IsEncrypted, Boolean OwnerCannotDelete, Int64 ObjWptID, WptDataSources DataSource, Double Latitude, Double Longitude) +2160

Groundspeak.Web.GPX.WptLog.Create(Guid LogGUID, Int64 OwnerID, Int64 WptRefID, DateTime LogDate, Int64 LogTypeID, String Note, Boolean IsEncrypted, Boolean OwnerCannotDelete, Int64 ObjWptID, WptDataSources DataSource, Double Latitude, Double Longitude) +164

Geocaching.UI.LogBookPanel.CreateNewLog(Boolean CheckConfirm) +1609

Geocaching.UI.LogBookPanel.LogButton_Click(Object sender, EventArgs e) +43

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +58

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain() +1292

Link to comment

No, whatever is going on is technical, not a problem of too many people. I've gotten the "deadlocked" message a dozen times while trying to log one visit today, and, on the rare occasion that I was able to get the log entry accepted, it ignored the Travel Bug I was dropping, so I have been deleting and reposting all day long.

Link to comment
No, whatever is going on is technical, not a problem of too many people. I've gotten the "deadlocked" message a dozen times while trying to log one visit today, and, on the rare occasion that I was able to get the log entry accepted, it ignored the Travel Bug I was dropping, so I have been deleting and reposting all day long.

Ditto here. I'll try later I guess.

Link to comment

I'm going to need to turn off the distance calculation for Travel Bugs to see if it can at least temporarily fix these issues. It is the only feature that has been recently added. Obviously that means the travel bug distances will have to hold off for a few days longer but it should at least clear up the temporary issues we are having.

Link to comment
It's 2am EST - and I am still getting deadlocks when trying to retrieve a TB from a cache. Are most of the problem you are seeing related to TB?

 

Yes ... I've mostly noticed it with TBs. I have a mileage tracking TB that I drop / pick up at each cache and when I try to drop it or pick it up, that's when I get the deadlocks. Sometimes when I drop and get the deadlock the log will still show up ... just w/o the TB. Anyway, Jeremy said he changed something to try to fix it, so I'll give that a whirl and see what happens.

Link to comment
I'm going to need to turn off the distance calculation for Travel Bugs to see if it can at least temporarily fix these issues. It is the only feature that has been recently added. Obviously that means the travel bug distances will have to hold off for a few days longer but it should at least clear up the temporary issues we are having.

 

It worked like a charm this morning - thank you. I'm curious about the distance calculation for the TBs though ... you said you tured it off, but I can still see the distance mine has traveled, and it was going up as I was logging it this morning, so are you speaking of an additional feature besides the number of miles it's traveled?

Link to comment

The short of it was that the distance calculation was previously done at the time the page was generated. Since now there are only x number of logs per page you can't calculate distance from log entry to log entry since the prior location may not be on the page.

 

The way it should work now is that the distance calculation runs in the database right after you post a log dropping off a travel bug. However because it has to grab a bunch of logs at once it seems to be locking the table. That means other log entries can't happen until your new log is in the database. When the site is particularly busy there are so many new logs that it starts causing locks in the database and it crashes some log attempts.

 

I think that the ultimate solution may be to schedule these calculations instead and do a combination of distance calculations on the fly as well as pulling the information from the database.

 

Hopefully I didn't make this too confusing. It sounds right in my head.

Link to comment

I know that GC is trying to fix the TB mileage problem and the last 10 days must be just as frustrating to the staff as it is for the members.

 

But many people we talk to including ourselves like to be able to look through the TB logs without having to go through lots of pages to do this. Since the TB mileage problem is because all of the logs are now paged.

 

Perhaps it would be better to return to the old method of displaying.

 

It seems the problems with logging TB drops and pickups is because of this same issue.

 

I know that this was intended to improve the loading of TB pages, but it seems to be causing just the opposite problem and frustrations for everyone. I'm sure everyone would be willing to wait a little longer to load a TB page, then continue with the same problems.

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...