I have a few questions about Magento admin/backoffice performance. How well does Magento handle multiple users in the backoffice editing, removing and inserting products? What about multiple users uploading images to different products? In such a scenario, is it acceptable to set reindexing on automatic? My guess is "Of course not!" but I'd like to hear somebody with more experience than me.
All your indexes should be on "Manual", especially if you are processing major changes on your catalogue. Only the "save" action on a product or a category can be very resource intensive, but you will notice a huge improvement by having your indexes on Manual.
Also, check all your third party extensions. Some of them could have observers on product/category saves that could cause issues for your store.
If you could post more details about your hosting environment it could help answer the question. Generally speaking, Magento can handle multiple users just fine. As mentioned you'll probably want to set all indexes to manual then only update them manually, on a cron, or with a 3rd party indexing extension.
If you're concerned or notice it will affect traffic for your visitors you can actually put the admin on a separate server so it doesn't affect anything else. Basically you just need to copy all the files to another server (or share the files using NFS or something) and be sure your local.xml uses the IP for the database server (if you leave it as localhost the admin server will look for the DB on its server rather than the primary server).
With Magento your performance bottleneck will almost always come from PHP. The actual queries to the database for updating or deleting products etc. are minimal. There are a few things you can do to optimize your primary server to try and reduce the load of admin activity and thus handle more traffic. There is a LOT of material available on this throughout the inter-webs but here are some easy ones:
- Use the Magento compiler (about Magento compilation)
- Have your host setup an opcode cache (APC, eAccelerator, etc.)
- Increase the number of cores or threads on your server.
- Install a full page cache (this won't speed up the back end but could reduce the load on the server on the front-end thus freeing up resources for admin activities)
Again, your primary bottleneck is PHP. So you either need to make it more efficient through caching, better hardware, etc. or be lazy and add more hardware to handle the increased workload.