product is way too slow for business!

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
10 years ago
apfelsine,

how do you index? i can get around in SQL but I am no expert. I thought the indexes are built into the database or am I confusing indexing with key fields??

Thanks for your input
10 years ago
Indexes have nothing to do with Primarykeys or unique fields.
Indexes are used to organize data in a table and to find the requested row in
the shortest possible time.

There are two ways a Sql-Server table is organized

a) Heap
The data rows are not stored in any particular order, and there is no particular order to the sequence of the data pages. The data pages are not linked in a linked list.
<--- This is the current state of your products table and is obviously the worst case szenario for finding things fast.
Imagine a library where all books are not sorted in the shelves from A to Z instead put in the shelves  in no particular order

b)Indexed
The data rows are stored in order based on the clustered index key. The clustered index is implemented as a B-tree index structure that supports fast retrieval of the rows, based on their clustered index key values. The pages in each level of the index, including the data pages in the leaf level, are linked in a doubly-linked list.

When you install NopCommerce it is impossible to install an index, since the Products don't come with the installation
and are being inserted after that.

An Index once built should be rebuilt when new Rows are added so the system can finde things faster.

For more info on that see here
10 years ago
I will read the info in the link you included.

IMO I think the problem lies in the way nop has implemented the new product structure by including both the product and the product variant in one table and then calling everything including tier pricing, related products, associated products etc etc in one call when you click 'Manage Products'.

I will know for sure today after I install an out of the box solution with a new database and then import 10,000 products into it. I will check the performance before and after.
10 years ago
I forgot to add the link with creating the index itself

http://technet.microsoft.com/en-us/library/ms188783.aspx
10 years ago
Greg Smyth wrote:

IMO I think the problem lies in the way nop has implemented the new product structure by including both the product and the product variant in one table and then calling everything including tier pricing, related products, associated products etc etc in one call when you click 'Manage Products'.


Then it is even more advisable to create index  the tables
10 years ago
apfelsine,

I have read the links. After further investigation I can tell you this.

1. The problem has nothing to do with the amount of products. Out of the box I added 10,000 products. Same time to load 'Manage Products' with 53 products (nop db default) or 10,000 products. Less than 5 seconds on development server and should be much faster on production server so no problem there.

2. The lag time on our production server (30 seconds) are the categories being loaded into the 'Manage Products' Category drop down list box. This is confirmed by trying to add a new category. 'Manage Categories' 'Add New' loads perfectly fine. The problem is reproduced when clicking on the Parent category drop down list box. (30 seconds).

I understand what you are saying about the indexing and have read the information you gave me but have no idea how to add the index in nopcommerce. What columns am I indexing and from what tables.

Now that it has been determined that the problem is with loading the categories into the drop down list box do I need to index the categories in some way. Just thinking about it the index should be on category and parent category but there is already an index in the category table for that.
10 years ago
apfelsine,

quantis001 and I have already tried:

[OutputCache(Duration=3600)]
   public virtual IPagedList<Category> GetAllCategories(string categoryName = "",
            int pageIndex = 0, int pageSize = int.MaxValue, bool showHidden = false)
        {

Had no affect trying to cache the output.
10 years ago
Sorry for taking so long. I've been offline for some time.

You got to operate on the SQL Server in order to supply indexes. This can not be done from nopcommerce.
9 years ago
pjaramillo wrote:
Sorry guys to have to mention this but nopCommerce is just a toy for kids!

Nice layouts and graphics but WAY TOO SLOW to be considered as a serious eCommerce platform.

Loading time is about 30 seconds, wowwww that is ridiculous!!  who is going to wait that long to access it??

You have put so much shit on it that now it works as a turtle!!

Once loaded for the first time, yes it is faster, because it has loadaded into the Cache, but all first time users have to wait the miracle (if it happens) to see it for the first time.  

Sorry guys, I can not consider it for serious business use in these conditions!  Way too slow for confort!

In fact, I have not being able to use it for almost a decade due to being so slow!  I have isntalled every version that you produce and I had to erase it all the time for the same reason.

Would the developers know about that or what is going on?


v3.40 has substantially improved performance and memory consumption by NopCommerce
9 years ago
pjaramillo wrote:
In fact, I have not being able to use it for almost a decade


Are you a glutten for punishment or a troll?  I have no idea why you're experiencing these problems, but why would you keep trying over and over if you've hated it for 10 years, why is this now your first post?  If you like other ecommerce solutions so much better, why did you spend the time to make an account and post this?  

You either are pushing a competitor or you have waaaay too much time on your hands.   10 years in ecommerce? I would hope you have better things to do with your time than gripe about a product you don't use.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.