0

I am trying to optimise Database and Code because some time its going not well, I saved session in database so when database size are increase My site performance is also bad.

Also I need to handle 2500 concurrent user on site. current it work well up to 300-400

1
  • Why don't you move to Magento 2, when Magento 1.x is going to be supported till June 2020 only? Feb 12, 2020 at 12:32

3 Answers 3

0

I don't have time to write an indepth answer but here are some points to push you in the right direction. I'll try to find time later to pad out then points with more information.

Code

  1. Enable the profiler and check what blocks / methods are taking the longest on page load, and look at optimizing these functions

System

  1. Instead of using your database to manage session, have a look at moving them to redis so you dont affect database speed. https://devdocs.magento.com/guides/m1x/ce18-ee113/using_redis.html

  2. Implement varnish https://www.varnish-software.com/wiki/content/tutorials/magento2/magento1x.html

  3. Potentially implement elasticsearch to remove that load from the DB / speed it up.

0

If you want to support,2500 concurrent user on-site,then you must have to changes configuration at server:

  1. Use Redis as session server
  2. Use Redis as cache server. Session redis server should not be at same server.
  3. Use opcache cache for php
  4. use Magento cache booster extension
  5. Use loader Balancer for Application server.One of most important point.
  6. Use Strong & sperate Database server
  7. Use CDN for Css & image

If you want to handle 2500 concurrent users on your server then you must work on a server level. The application cannot only handle that type of request need an additional boost at server.

1
  • Hello Amit, Thanks for your reply Can you help to setup this all. point : 2,3,5,6
    – Ajay Patel
    Feb 13, 2020 at 11:42
0

To add to the additional answers you are probably going to have to use something like Amazon aws. This will allow you to scale up to meet your traffic needs.

With multiple separate instances for web servers with a balancer (elastic beanstalk) sat in front. Basically distribute the users across many webservers.

You will need a seperate rds instance for DB

Seperate ec instance for cron

Take search traffic offsite by using something like algolia

Use cloudflare for distribution, CDN, minification and edge cache

Dont invest in magento level full page cache. Stick with proxy cache.

Agree redis needs to be used and if so seperate instances for its use eg sessions, backend cache

Plus optimizations in magento such as turning off index on save. Minimising heavy data operations for quieter periods.

This stack will cost a fortune but it will get you what you need

Finally profile your theme and code. Remove non essential extensions. Remove developer type development extensions (toolbars, toggle hints, etc).

2
  • may i know you suggest that Dont invest in Magento level full page cache. Stick with proxy cache.
    – Amit Bera
    Feb 13, 2020 at 11:54
  • @AmitBera magento built in full page and block cache is good enough. Something additional on top of that is unnecessary if you are using a proxy cache. Also I would be wary that when magento invalidates any full page cache it may also invalidate something else like redis. In other words any form of content change could continuously invalidate and thus result in a cache clear. Ideally you want a edge proxy cache with several days of lifetime. Plus a proxy cache can be configured to behave differently depending on http response code and headers. Feb 13, 2020 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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