2

I'm trying to find the best setup for one really slow site. For education purpose.

I set with AWS CloudFront like full page cache, not only static files. Also Varnish and Redis, and performance are good now.

But I'm trying again to install one by and measure one by one and calculate what part giving more.

And I concluded that Redis does not improving at all. I tried with different pages, and nothing better. I also modified AWS Redis instance type to much stronger, and the same like the smallest one. I checked and keys are stored in database 0 and 1.

Also metrics show that hits are OK enter image description here

But when I try to test with jmeter, and hit 10 different links with 5 users, MySQL CPU load are go up to 100%. I understand that main purpose of Redis is to serve cached query results to webserver, instead for every request to contact database server.

This is htop from mysql enter image description here

Magento is 1.9.3.8 app/etc/modules/Cm_RedisSession.xml is set to true And this is local.xml file regarding redis:

     <cache>
      <backend>Mage_Cache_Backend_Redis</backend>
      <backend_options>
        <server>xxxx.tapkyx.0001.euc1.cache.amazonaws.com</server>              
        <port>6379</port>
        <persistent>cache-db0</persistent>
        <database>0</database>
        <password></password>
        <force_standalone>0</force_standalone>
        <connect_retries>1</connect_retries>
        <read_timeout>10</read_timeout>
        <automatic_cleaning_factor>0</automatic_cleaning_factor>
        <compress_data>1</compress_data>
        <compress_tags>1</compress_tags>
        <compress_threshold>20480</compress_threshold>
        <compression_lib>gzip</compression_lib>
      </backend_options>
    </cache>

 <session_save>db</session_save>
    <redis_session>
        <host>xxxx.tapkyx.0001.euc1.cache.amazonaws.com</host>            
        <port>6379</port>
        <password></password>
        <timeout>2.5</timeout>
        <persistent>cache-db1</persistent>
        <db>1</db>
        <compression_threshold>2048</compression_threshold>
        <compression_lib>gzip</compression_lib>
        <log_level>4</log_level>
        <max_concurrency>6</max_concurrency>
        <break_after_frontend>5</break_after_frontend>
        <break_after_adminhtml>30</break_after_adminhtml>
        <bot_lifetime>7200</bot_lifetime>
    </redis_session>

So questions are, what kind of improvements I can expect with using redis? And why is MySQL CPU overloaded even I call with Jmeter the same 10 pages? Or what I forgot to do :).

  • Additional information request. Post on pastebin.com and share the links. A) complete (not edited) my.cnf or my.ini Text results of: B) SHOW GLOBAL STATUS; after minimum 24 hours UPTIME C) SHOW GLOBAL VARIABLES; D) SHOW FULL PROCESSLIST; E) complete MySQLTuner report AND Optional very helpful information, if available includes - htop OR top OR mytop for most active apps, ulimit -a for a linux/unix list of limits, iostat -xm 5 3 for IOPS by device and core/cpu count, df -h for a linux/unix free space list by device, for why MySQL CPU is overloaded Answer. – Wilson Hauck Mar 2 at 1:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.