BV Commerce Forum
»
BV Commerce Support
»
General Support
»
BVC - Issue with Extremely Large number of products in a single category
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
Yep - you can see why we are so confused..
|
|
|
|
Rank: Member
Joined: 1/3/2004(UTC) Posts: 1,497
|
Just some random thoughts:
Have you checked any logs, etc. to see if your site is under attack (rival colleges)?
Also I noticed lots of traffic when the PCI Compliance people from the credit card company are periodically checking a site.
Had the app pool recycled when things get better? |
|
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
I get this - system web
Invalid viewstate.[ at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ]
and this - mscorlib
Input string was not in a correct format.[ at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.Web.UI.WebControls.ImageButton.LoadPostData(String postDataKey, NameValueCollection postCollection) at System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ]
any help??
|
|
|
|
Rank: Member
Joined: 11/5/2003(UTC) Posts: 2,136
Was thanked: 1 time(s) in 1 post(s)
|
Is the first (invalid viewstate) near any other errors at the same time? If yes, the other errors may point to a cause. If not, then my guess are: 1) your site is on a cluster of servers and you need to add a machine key to the web.config, or 2) you have moved your viewstate to the bottom of the page and some people are clicking on something that causes a postback before the viewstate finishes loading.
The second error means that the postback (like add to cart) included a non-numeric value in a field that should have had a number. Blanks count as non-numeric, so for example, if the quantity field is blank, you will see this error. Normally the BV pages will prevent posting invalid values. So I suspect either: 1) you have modified a page in a way that allows a real human to post invalid values, or 2) a hacker is trying to break (into) your store, or 3) a non-human client such as HackerScan is posting invalid stuff on purpose to "check the locks". If there are a lot of the second error at almost the same time and they come in bursts, then it is almost certainly a scan. The load from some scanners can have a negative impact on performance. You may be able to verify the source of the errors by looking at the IIS logs from the same day and time as the errors in the BV log. |
|
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
What is this one? - System.Web
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.[ at System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) at System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) at System.Web.UI.WebControls.TextBox.LoadPostData(String postDataKey, NameValueCollection postCollection) at System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ]
|
|
|
|
Rank: Member
Joined: 12/23/2003(UTC) Posts: 909
|
I believe that's related to HTML or invalid characters being entered into a form field (Search Box, QTY, etc.). |
|
|
|
|
Rank: Member
Joined: 11/5/2003(UTC) Posts: 2,136
Was thanked: 1 time(s) in 1 post(s)
|
Matt's right. Someone or some program (scan?) is posting stuff that appears like hacking (for example javascript in a text field).
The key words are "Event validation". |
|
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
I did turn off ScanAlert for 3 days to see if that was the problem but it wasn't.
I get this too - mscorlib
Invalid character in a Base-64 string.[ at System.Convert.FromBase64String(String s) at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) at System.Web.UI.HiddenFieldPageStatePersister.Load() ]
The bottom line is What do I do???? Can anyone help me figure this out and stop it from happening? I can give you access to the admin site, error logs, and whatever else you need. Thanks!
If I am being hacked, how do I stop it?
|
|
|
|
Rank: Member
Joined: 11/5/2003(UTC) Posts: 1,786
|
If your site is being attacked you can check your IIS log files and try and find the specific IP address. You can block an IP address at your firewall preventing the traffic from getting to your server.
Unfortunately, this type of attack usually comes from a "bot net" and the IP address can change quickly. Occasionally, I've had to block off entire continents (Africa) for a few days to keep attacks out.
|
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
I will look at the traffic stats and see if I can pinpoint anything.
Marcus - Have you seen this before? The site is humming along then it slows way down and the products wont display. This happens 3-4 times a day for 5-10 minutes.
|
|
|
|
Rank: Member
Joined: 11/5/2003(UTC) Posts: 2,136
Was thanked: 1 time(s) in 1 post(s)
|
This is anecdotal, but for a few months earlier this year my site would do that. My site is on a shared web server and my database is on a separate shared SQL server. After looking at possible causes off and on for a few weeks and finding nothing, we were about to move my database to a new SQL server when my host discovered a single user that was "abusing the system [SQL Server]". I did not ask what they were doing, but after they took care of that issue my site has been humming along.
In my case, it had nothing to do with my software (customized BV) or data. My slow downs were caused by an outside force...in this case another user of the database server. |
|
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
We are in a major bind with this. The site showed no items multiple times for 20-40 minutes over the weekend. There isn't any correlation to event errors. The traffic is not the issue. At 5:26AM our time was one of the instances and traffic was very low. There has to be something causing this. ANYONE??? PLEASE HELP!!! Our next avenue is dumping BV and moving to a yahoo store. Thanks!
|
|
|
|
Rank: Member
Joined: 11/5/2003(UTC) Posts: 1,786
|
I suspect that someone or something is taking resources away from your database server. For example, another shared user who is running a very intensive query or a backup process that is bogging down the DB. If the sql server does not respond in time to a query then the web site would show no products. The fact that this is intermittent means that is it most likely a resource issue in your hosting facility. Too many people on the SQL server, too much bandwidth used up on a local network between web servers and database servers, etc. Have you considered other hosting companies? There are some great partners at http://www.bvsoftware.com/partners who specialize in hosting BV Commerce and moving to another web host is far less costly and time consuming than switching your store to a new platform.
|
|
|
|
Rank: Member
Joined: 11/25/2003(UTC) Posts: 370
|
Originally Posted by: "gaynes" Our next avenue is dumping BV and moving to a yahoo store. Thanks! Loosing 3,350 Google links is most likely not a solution. Your site needs to be moved off of this current server. Someone on the server is hogging resources. The only true way to test your application is to isolate it. You looked at your Alexa Stats lately Time on site - up 132% Pageviews/User - up 150% Pageviews - up 560% Reach - up 170% Traffic Rank way up It's time to make some adjustments for growth here. |
|
|
|
|
Rank: Member
Joined: 11/6/2003(UTC) Posts: 1,903
|
Well here is some background - The site is located on a dedicated server shared by KS and one other client - we call it a split-dedi.
There has been a lot of sales and a lot of growth in the 18 months since it went live.
SQL 2003 STD is on the same server.
When the slowdown occurs the server is running fine and the other clients site continues to run fine.
We have confirmed it is coming from the KS site. There does not appear to be anything suspicious with their traffic other than it can come in fast at times sporadically (a lot of college traffic and they tend to be socially click happy).
Pushing 50,000 page views/day and they are using a lot of dynamically generated cats for display. We see some huge DB calls (in numbers) for some of their categories and I think the site is in need of tuning. Also based on the recent trend in increased traffic (over the last 3 months) we believe they would benefit from a dedicated server as well.
All of this has been discussed with the client. It will take us (or anyone) time to pinpoint the issue with their application and so far the client isn't willing to pay to have it looked at. |
Noah |
|
|
|
Rank: Member
Joined: 3/10/2008(UTC) Posts: 70
|
This is a custom site written by Resposio. This issue has only started within the last few weeks. Nothing has changed on our side, programming, etc., except to add a google data feed. There has been no surge in orders and the traffic increase does not correlate with the down times. Believe me, I do not want to go to the huge hassle of switching to yahoo store. I have trouble believing this is a traffic issue enough to merit a dedicated server and several we have consulted agree with this. Perhaps we could move to a dedicated on a trial basis to see if it solves the problem? If that solves it we would be thrilled to pay the extra $200/mo.
I am concerned we are being hacked. If someone is doing some of the things with the SQL suggested by Marcus, it is not us.
"If the sql server does not respond in time to a query then the web site would show no products." That is definitely the problem, the question is why? Especially at 5AM?
|
|
|
|
Rank: Member
Joined: 11/6/2003(UTC) Posts: 1,903
|
The issue has been isolated to the KS site and SQL. |
Noah |
|
|
|
Rank: Member
Joined: 11/3/2009(UTC) Posts: 17
|
Hi All, Does anybody managed to sort display products issue for single category? I have the same problem, the category has 10k+ products. When I hit that category blank area is displayed... After some research I've found that it happens because of SQL timeout 30 seconds after hit. Stored procedure is bvc_Product_ByCategory_s. When I execute this stored procedure in SQL Server Management Studio with same category bvin it throws same timeout error after 30 secs. The most interesting is when I click modify stored procedure and hit execute without any changes - !!!problem disappears!!! but after a couple of days it appears again... Any ideas?
|
|
|
|
Rank: Administration
Joined: 4/2/2004(UTC) Posts: 2,393 Location: Hummelstown, PA Thanks: 6 times Was thanked: 163 time(s) in 158 post(s)
|
romanuum, The problem, as previously in this thread, is that categories with large numbers of products cause the SQL queries to run slowly, primarily due to the inventory checks. I took a look at the stored procedure that you mentioned, bvc_Product_ByCategory_s, and realized that I should have optimized this one for Paul as well. Attached to this thread is an update for that procedure that removes the inventory checks and one unnecessary join. On my test database I saw a HUGE performance improvement. The query went from 50 seconds down to 3 seconds. Assuming that you DO NOT need inventory checking, give this a shot. File Attachment(s): bvc_Product_ByCategory_s.txt (3kb) downloaded 129 time(s).You cannot view/download attachments. Try to login or register. |
Aaron Sherrick BV Commerce Toll-free 888-665-8637 - Int'l +1 717-220-0012 |
|
|
|
Rank: Member
Joined: 11/25/2003(UTC) Posts: 370
|
Could always add some Ajax to check inventory on a per item basis if you wanted. That's what I suggested to one client with a similar issue. |
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.