Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We've asked a similar question in the past, basically we have a very large Magento store with 500000 products which are currently reindexed once a day, during the night.

We'd like to speed this process up significantly, we're at about 4-5 hours now. The solution was suggested for us to do something like this on a server cluster and replicate the database changes after they've been done on a machine that isn't being bothered with serving customers.

But what is the mechanism for that? How do we replicate those changes across to the live site from the server cluster?

Can someone point me in the right direction here?

share|improve this question

migrated from stackoverflow.com May 18 '12 at 17:00

This question came from our site for professional and enthusiast programmers.

    
Please ask programming related questions here with code samples and stuff as described in FAQ –  Anton S May 15 '12 at 10:39
    
Why are you reindexing every day? In my experience that is not necessary. I only reindex when it is required. –  Josh Pennington May 15 '12 at 11:36

1 Answer 1

The main question would be why you are reindexing nightly, I would guess product import/sync.

To start with, 4-5 hours is disproportionately long for a catalogue of that size. To refresh all the indexes on a store with 250k products/1 store view takes around 25mins. So either you've got a few store views, or a major server configuration issue.

Your proposal simply isn't practical, how would you account for stock discrepancy etc.by running two live DBs simultaneously, then replacing the other.

At this stage, without any detailed information from you, I would start by setting up your server properly for Magento. After that, address why you need to reindex everything, there are probably much more elegant approaches than locking up several tables for hours on end. Disabling FCP and FCC would remove the need to complete those indexes and testing would show if there was any performance hit; we have found that they can be detrimental on certain catalogues. You can also install SOLR to handle the catalog_fulltext_search index, which relieves the burden from MySQL, is faster to reindex and makes the catalogue substantially faster for search and layered navigation.

The right direction would be to consult a professional, to propose a proper solution to suit your needs exactly using the hardware you have available.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.