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.
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.
Magento is 126.96.36.199 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 :).