<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Official LexiConn Blog</title>
	<atom:link href="https://www.lexiconn.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lexiconn.com/blog</link>
	<description>All about e-Commerce, ShopSite, and Web Hosting</description>
	<lastBuildDate>Thu, 06 Nov 2025 20:00:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.1</generator>
	<atom:link rel='hub' href='https://www.lexiconn.com/blog/?pushpress=hub'/>
<cloud domain='www.lexiconn.com' port='80' path='/blog/?rsscloud=notify' registerProcedure='' protocol='http-post' />
	<item>
		<title>How to use a PHP profiler to audit a slow Adobe Commerce site</title>
		<link>https://www.lexiconn.com/blog/2023/11/how-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site/</link>
		<comments>https://www.lexiconn.com/blog/2023/11/how-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site/#comments</comments>
		<pubDate>Tue, 21 Nov 2023 19:28:41 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9442</guid>
		<description><![CDATA[Tweet Introduction Time to first byte (TTFB) is how long it takes a server to generate HTML of a requested page. 1-2 seconds is an acceptable TTFB of an uncached page. Anything above it could be a sign of a performance issue. In this guide I’ll show you how to use a PHP profiler to [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2022/02/magento-2-commerce-gift-card-fix-for-faster-use/" rel="bookmark" title="Magento 2 Commerce Gift Card Fix for Faster Use">Magento 2 Commerce Gift Card Fix for Faster Use </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/11/magento-store-slow-heres-how-it-can-hurt-and-how-you-can-fix-it/" rel="bookmark" title="Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it">Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/06/magento-faster-than-a-speeding-bullet/" rel="bookmark" title="Magento &#8211; Faster Than a Speeding Bullet">Magento &#8211; Faster Than a Speeding Bullet </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9442" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F11%2Fhow-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site%2F&amp;via=LexiConn&amp;text=How%20to%20use%20a%20PHP%20profiler%20to%20audit%20a%20slow%20Adobe%20Commerce%20site&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F11%2Fhow-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<div class="scbb-content-box scbb-content-box-blue">From time to time we have guest posts on the blog. Today&#8217;s post is from Konstantin Gerasimov at goivvy.com.</div>
<h2><strong><span style="color: #993300;">Introduction</span></strong></h2>
<p>Time to first byte (TTFB) is how long it takes a server to generate HTML of a requested page. 1-2 seconds is an acceptable TTFB of an uncached page. Anything above it could be a sign of a performance issue.</p>
<p>In this guide I’ll show you how to use a PHP profiler to improve TTFB of an Adobe Commerce site (or any other PHP based site). As a <a href="https://www.goivvy.com">Magento 2 developer</a> I used this technique to optimize numerous slow pages and it helped a lot.</p>
<h2><strong><span style="color: #993300;">What is Tideways and how to use it</span></strong></h2>
<p>Tideways is a commerce version of an abandoned <i>XHProf</i> PHP profiler. Once it’s set up it gives you a trace diagram with function call names and respected times it took to execute them.</p>
<p>Tideways has a free trial period, you don’t need to provide credit card details to sign up. All you need is an email address. It gives you 14 days of trial use but the trial period length might change in the future, check with their website.</p>
<p>Once you registered for a trial, you’d need to install a php extension and a daemon. There are instructions on tideways website but you might need <a href="https://www.lexiconn.com/contact.html">expert help</a>.</p>
<h2><strong><span style="color: #993300;">Run a manual trace</span></strong></h2>
<p>Turn off Magento 2 full page cache and find a page that you think is too slow. Head over to <i>Traces &gt; Trigger</i> trace and click on <i>Generate Token</i>:</p>
<div id="attachment_9444" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Generate-Token.png" rel="lightbox[9442]" title="How to use a PHP profiler to audit a slow Adobe Commerce site"><img class="size-medium wp-image-9444" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Generate-Token-300x137.png" alt="(click to enlarge)" width="300" height="137" /></a>
<p class="wp-caption-text">(click to enlarge)</p>
</div>
<p>Copy the token, append it to the page URL and fetch it with a browser. Wait 2-3 seconds and your trace is going to be available for analyzing.</p>
<h2><strong><span style="color: #993300;">Analyze trace output</span></strong></h2>
<p>Diagram has several tabs: <i>Timeline</i>, <i>Summary</i>, <i>Callgraph</i> and <i>Bottlenecks</i>:</p>
<div id="attachment_9445" style="width: 268px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-timeline-before.png" rel="lightbox[9442]" title="How to use a PHP profiler to audit a slow Adobe Commerce site"><img class="wp-image-9445 size-medium" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-timeline-before-258x300.png" alt="Homepage-timeline-before" width="258" height="300" /></a>
<p class="wp-caption-text">(click to enlarge)</p>
</div>
<p>TTFB is 3.32 seconds. Let’s see if there is any room for improvement.</p>
<h3>Analyzing a Callgraph</h3>
<p>Callgraph provides a waterfall diagram.</p>
<div id="attachment_9446" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-callgraph-before.png" rel="lightbox[9442]" title="How to use a PHP profiler to audit a slow Adobe Commerce site"><img class="wp-image-9446 size-medium" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-callgraph-before-300x168.png" alt="Homepage-callgraph-before" width="300" height="168" /></a>
<p class="wp-caption-text">(click to enlarge)</p>
</div>
<p>Scroll down and analyze every function call, there should be something that contributes to that 3+ seconds TTFB.</p>
<p>In our case, <i>Topmenu::getMegamemuhtml</i> needs further investigation. This function generates top menu html and its output could be cached to save 0.6+ seconds.</p>
<p>Here is a screenshot of a trace with mega menu cached:</p>
<div id="attachment_9447" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-callgraph-after.png" rel="lightbox[9442]" title="How to use a PHP profiler to audit a slow Adobe Commerce site"><img class="wp-image-9447 size-medium" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/Homepage-callgraph-after-300x176.png" alt="Homepage-callgraph-after" width="300" height="176" /></a>
<p class="wp-caption-text">(click to enlarge)</p>
</div>
<p>TTFB is 1.48s now.</p>
<p>There is another function to improve &#8211; <i>Homepage::getProduct</i>, it’s selected on the screenshot above. The function takes 0.8s to be executed and it’s all because of 27 load model calls. Model loads are expensive and should be substituted with direct attribute fetching whenever possible.</p>
<p>There might be other slow calls, you just need to go over a tree diagram and inspect every node.</p>
<p>There could be slow SQL queries. You need to enable SQL profiling in <i>General Settings</i>:</p>
<div id="attachment_9448" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/SQL-profiling.png" rel="lightbox[9442]" title="How to use a PHP profiler to audit a slow Adobe Commerce site"><img class="wp-image-9448 size-medium" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/11/SQL-profiling-300x58.png" alt="SQL-profiling" width="300" height="58" /></a>
<p class="wp-caption-text">(click to enlarge)</p>
</div>
<p>After that any slow queries will be visible under the <i>Bottlenecks</i> tab.</p>
<h2><strong><span style="color: #993300;">Summary</span></strong></h2>
<p>A good code profiler can help you <a href="https://www.goivvy.com">speed up a site</a> and save time and money. From my experience 14 days is more than enough to figure out most performance issues.</p>
<p>The profiler can be used on a live (production) site, it doesn’t slow it down or cause any problems, it works with PHP 8. Let it run for a couple of hours and then inspect traces under <i>Project &gt; Traces</i>.</p>
<p>&#8230;</p>
<p><span style="text-decoration: underline;"><strong>About the author:</strong></span> Konstantin Gerasimov is a Magento certified developer with Goivvy.com. He specializes in speed optimization, migration and general Magento support.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2022/02/magento-2-commerce-gift-card-fix-for-faster-use/" rel="bookmark" title="Magento 2 Commerce Gift Card Fix for Faster Use">Magento 2 Commerce Gift Card Fix for Faster Use </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/11/magento-store-slow-heres-how-it-can-hurt-and-how-you-can-fix-it/" rel="bookmark" title="Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it">Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/06/magento-faster-than-a-speeding-bullet/" rel="bookmark" title="Magento &#8211; Faster Than a Speeding Bullet">Magento &#8211; Faster Than a Speeding Bullet </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2023/11/how-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Masterclass &#8211; Ultimate 3 step process on how to achieve a page speed score of 100/100</title>
		<link>https://www.lexiconn.com/blog/2023/04/masterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100100/</link>
		<comments>https://www.lexiconn.com/blog/2023/04/masterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100100/#comments</comments>
		<pubDate>Fri, 21 Apr 2023 18:34:32 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9436</guid>
		<description><![CDATA[Tweet According to Google, around 32% of visitors abandon a page that takes more than three seconds to load. That alone is a huge blow to your potential conversions. We are organizing an exclusive invite-only masterclass on the “Ultimate 3-Step Process on How to Achieve a Page Speed Score of 100/100” in partnership with Growisto, [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2023/02/7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client/" rel="bookmark" title="7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client">7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/04/its-official-google-is-using-page-load-speed-in-its-search-ranking-algorithm/" rel="bookmark" title="It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm">It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm </a></li>
<li><a href="https://www.lexiconn.com/blog/2011/11/one-powerful-way-to-speed-up-your-site-and-sales/" rel="bookmark" title="One Powerful Way to Speed Up Your Site and Sales">One Powerful Way to Speed Up Your Site and Sales </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9436" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F04%2Fmasterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100100%2F&amp;via=LexiConn&amp;text=Masterclass%20%26%238211%3B%20Ultimate%203%20step%20process%20on%20how%20to%20achieve%20a%20page%20speed%20score%20of%20100%2F100&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F04%2Fmasterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100100%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/04/masterclass1.png" rel="lightbox[9436]" title="Masterclass - Ultimate 3 step process on how to achieve a page speed score of 100/100"><img class="aligncenter size-full wp-image-9438" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/04/masterclass1.png" alt="masterclass" width="1200" height="1200" /></a></p>
<p>According to Google, around 32% of visitors abandon a page that takes more than three seconds to load. That alone is a huge blow to your potential conversions.</p>
<p>We are organizing an exclusive invite-only masterclass on the<strong> “Ultimate 3-Step Process on How to Achieve a Page Speed Score of 100/100” </strong>in partnership with <strong>Growisto</strong>, a Digital Growth company that specializes in technology and marketing services.</p>
<p><strong>Key learnings: </strong></p>
<ul>
<li>What is Google Page Speed Score and Core Web Vitals? Why do they matter?</li>
<li>What are the different stages that matter in this process? A step-by-step plan of action for page speed score improvement</li>
<li>What is the right approach to increase the page speed of my website?</li>
<li>What is a good score to target? At what stage should I focus on this?</li>
<li>What kind of teams, effort, cost, and time it will take to get results?</li>
<li>How does it depend on my current technology stack? Should I think about upgrading my tech stack?</li>
<li>How to manage the requirements of different teams such as, marketing, branding and others while optimizing core website vitals and page speed score?</li>
<li>How to track progress and improvements? How long does it ideally take to start noticing the improvements?</li>
<li>How can we measure the ROI of the overall efforts and measure the business outcome?</li>
</ul>
<p><strong> </strong></p>
<p><span style="text-decoration: underline;"><strong>Schedule:</strong></span></p>
<p><strong>Date:  </strong>27 April 2023, Thursday<br />
<strong>Time: </strong> 3 Pm EST/12pm PST<br />
<strong>Where &#8211; </strong>Zoom (Webinar link will be shared over email on successful registration)</p>
<p>This webinar is an exclusive session for Founders, CXOs, Directors, Head eCommerce Director/VP Technology, CTOs, CPOs, IT managers, eCommerce managers, Tech leads, Product managers, and Engineering leads with first-in-time bookings only.<strong></p>
<p>Save Your Spot Now!  </strong></p>
<p><strong>&#8212;&#8211; <u><a href="https://www.growisto.com/growisto-ecommerce-mastery-webinars/masterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100-100/?swcfpc=1">Register Here</a></u>&#8212;-</strong></p>
<p><strong>About the Speakers:</strong></p>
<p><u><a href="https://www.linkedin.com/in/mangiafico/">Robert Mangiafico</a></u> is the CTO of <u><a href="https://www.lexiconn.com/">LexiConn</a></u>, a fully managed hosting provider that specializes in e-commerce hosting with Magento and WooCommerce. He has previously created a platform for email reception and delivery at-sea for US Navy submarines. His expertise lies in web servers, database servers, networking, e-commerce, internet security, ShopSite, and Magento.</p>
<p><u><a href="https://www.linkedin.com/in/agrawalgunjan/">Gunjan Agrawal</a></u> is the Chief Product Officer at Growisto and has 15+ years of experience in technology and product development. He has served as the Director of Products at Oyo Rooms and has successfully built and exited three ventures &#8211; Logic roots, Menufry.com, and Career Point Edutech Ltd.</p>
<p><u><a href="http://www.linkedin.com/in/pritesh-mittal-b9071b33">Pritesh Mittal</a></u> is the COO &amp; Co-founder of <u><a href="https://www.growisto.com/">Growisto</a></u>, a Digital Growth company that specializes in <strong>technology</strong> and <strong>marketing </strong>services. A second-time entrepreneur, Pritesh in last 8 years has helped 150+ brands increase their digital growth and online sales. He has experience in Tech and Marketing Consulting, Product Marketing, SEO, Digital Marketing, and Conversion Optimization.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2023/02/7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client/" rel="bookmark" title="7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client">7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/04/its-official-google-is-using-page-load-speed-in-its-search-ranking-algorithm/" rel="bookmark" title="It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm">It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm </a></li>
<li><a href="https://www.lexiconn.com/blog/2011/11/one-powerful-way-to-speed-up-your-site-and-sales/" rel="bookmark" title="One Powerful Way to Speed Up Your Site and Sales">One Powerful Way to Speed Up Your Site and Sales </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2023/04/masterclass-ultimate-3-step-process-on-how-to-achieve-a-page-speed-score-of-100100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client</title>
		<link>https://www.lexiconn.com/blog/2023/02/7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client/</link>
		<comments>https://www.lexiconn.com/blog/2023/02/7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client/#comments</comments>
		<pubDate>Mon, 13 Feb 2023 20:08:21 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9430</guid>
		<description><![CDATA[Tweet When it comes to page load speed, every second counts. In fact, Google research shows that when loading times increase from one to three seconds, the probability of a bounce (the visitor leaving right away) increases by 32 percent. Hence, it is important to optimize your site speed in order to enhance customer experience [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2011/11/one-powerful-way-to-speed-up-your-site-and-sales/" rel="bookmark" title="One Powerful Way to Speed Up Your Site and Sales">One Powerful Way to Speed Up Your Site and Sales </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/04/its-official-google-is-using-page-load-speed-in-its-search-ranking-algorithm/" rel="bookmark" title="It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm">It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/11/google-need-for-speed/" rel="bookmark" title="Google&#8217;s Need For Speed (and 3 things you can do to meet that need)">Google&#8217;s Need For Speed (and 3 things you can do to meet that need) </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9430" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F02%2F7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client%2F&amp;via=LexiConn&amp;text=7%20Steps%20We%20Implemented%20to%20Reach%20Google%20Page%20Speed%20Score%20of%20100%20for%20a%20client&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2023%2F02%2F7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<div class="scbb-content-box scbb-content-box-blue">From time to time we have guest posts on the blog. Today&#8217;s post is from Growisto.com</div>
<p>When it comes to page load speed, every second counts. In fact, Google research shows that when loading times increase from one to three seconds, the probability of a bounce (the visitor leaving right away) <span style="text-decoration: underline;"><strong><a href="https://www.thinkwithgoogle.com/marketing-resources/data-measurement/mobile-page-speed-new-industry-benchmarks/" target="_blank">increases by 32 percent.</a></strong></span> Hence, it is important to optimize your site speed in order to enhance customer experience and lower your bounce rates. A faster page speed would also impact your search engine rankings. One of the most recommended ways to check and optimize your page speed is through <span style="text-decoration: underline;"><strong><a href="https://pagespeed.web.dev/" target="_blank">Google Page Speed Insights</a></strong></span>.</p>
<p>&nbsp;</p>
<p><b>For one of our clients, who is a leading manufacturer of safety signs and labels in the US, we achieved a perfect score of 100 on Google Page Speed Insights. The client&#8217;s website consisted of around 150k products and over 300k pages. Both teams worked meticulously to figure out the target areas, key requirements, and created a step-by-step roadmap to work efficiently. Our experts implemented each step with precision to take the page speed score of the website to 100.</b></p>
<p>In this article, we will be discussing some key steps that the Growisto team implemented to achieve a perfect score of 100:</p>
<ol>
<li><b>Migration to Headless Commerce: </b>We migrated the traditional monolithic architecture of the website to headless solutions using Magento backend &amp; ReactJS frontend. Adopting a headless approach gave us a lot of flexibility to enhance customer experience, improve parameters of the page speed score insights, and to increase personalization. The migration to the headless system itself helped us push the page speed score above 85.<br />
.</li>
<li><b>Implement full-page caching</b>: Full-page caching improves response time and reduces the load on the server. Without caching, each page might need to run blocks of code and retrieve information from the database. However, with full-page caching enabled, a fully-generated page can be read directly from the cache. For most websites, it will be a significant performance boost to enable the full-page cache.
<p>However, if your website has ten thousand or more pages, then full-page caching becomes very complex and generally not possible. In those cases, you should have a fallback caching mechanism where you just cache the data. In such cases, less frequently visited pages will not have full page caching, but the data for those will be cached.</p>
<p>Now that you are done with caching, there might be some changes you want to make to the data. To make this process simpler, you should automate your caching mechanism. Specifically, if you have a large number of products and categories. Otherwise, updating the data would be a very difficult task for the product team.<br />
.</li>
<li><b>Set Up Content Delivery Network (CDN):</b> A CDN simply collects all your site data like images, CSS, JS and saves it on their servers spread across the world. So when a user makes a request, it can deliver it from the nearest server with respect to the user. Having a CDN with a good network in the region where your customers are, is always better. Also, CDN should help with image handling, as mentioned in the points below, which is also very helpful. Moreover, you can also implement full-page caching in the CDN itself, so your page becomes faster.<br />
.</li>
<li><b>Add placeholders and set up explicit dimensions for all images:</b> Images make up a large portion of the page elements, so using heavy images increases the page weight and results in slow loading speed. In order to optimize your images, you need to ensure that they are properly sized for your page and efficiently coded.
<p>Apart from this, you need to set explicit dimensions for all your images. If you set these dimensions beforehand, the other content on your page won’t be affected, and the image will have sufficient space to load while the user reads the rest of the data. This will help drastically reduce CLS.<br />
.</li>
<li><b>Implement on-the-fly resizing and optimal format of the images: </b>Another important aspect to keep in mind is the automatic resizing and compression of the images. In case an image is larger than the standard aspect ratio, it should be able to resize itself and fit in the area provided. For example, if the aspect ratio set is 400*300 and the original image has size of 400*400. Then it should be able to automatically resize and deliver to the frontend with the size of 300*300 in order to maintain the actual image ratio. This way the structure of the entire page would remain intact.
<p>Along with resizing, the images should be delivered in the optimal format, such as WebP or other latest formats based on browser support.</p>
<p>Both of these can be done easily through CDN, so if your CDN supports them, we should configure them in CDN only.<br />
.</li>
<li><b>Add lazy loading for below-the-fold content:</b> This means that instead of making the browser load every content on a page before displaying the above-the-fold content, it will only load the ones that are immediately visible. Less loading before the page becomes visible means better performance, which is why Google recommends this method.<br />
.</li>
<li><b>Optimize the SVG icons used on the headers:</b> Merge the smaller icons to create a bigger file in order to get a decent size. It enables you to create an entire file for the icons and not individually save and load them separately. This will reduce multiple network calls and thus save time loading the page.</li>
</ol>
<p><b>Other Google Suggestions</b>: Apart from the ways listed above, <span style="text-decoration: underline;"><strong><a href="https://pagespeed.web.dev/" target="_blank">Google Page Speed Insights</a></strong></span> also recommends several ways to optimize your site speed. All you have to do is, put your page/site link in the page speed bar and hit analyze. Once you do that, you will see several recommendations such as, Defer offscreen images, remove unused CSS, etc, pop up. You can also follow these steps to achieve a higher page speed.</p>
<p>Moreover, Google Page Speed Insights takes into consideration a few metrics to analyze the page speed of a website. To reach an optimal page speed, you need to move all your metrics towards the green region from the red one (as shown in the picture below). Once all your metrics are green, you have achieved a good page speed for your website.</p>
<p><a href="https://www.lexiconn.com/blog/wp-content/uploads/2023/02/gperf.png" rel="lightbox[9430]" title="7 Steps We Implemented to Reach Google Page Speed Score of 100 for a client"><img class="aligncenter size-full wp-image-9431" src="https://www.lexiconn.com/blog/wp-content/uploads/2023/02/gperf.png" alt="gperf" width="397" height="402" /></a></p>
<p>&nbsp;</p>
<p>All in all, mentioned above are some of the most important points that we kept in mind in order to optimize the page speed for our client and achieve a score of perfect 100 on Google Page Speed Insights. Some of these might seem difficult to implement, but, with the right technology partner, you can surely increase your website speed and improve your user experience.</p>
<p>&#8230;</p>
<p><strong>About the author:</strong> <span style="text-decoration: underline;"><strong><a href="https://www.growisto.com/" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://www.growisto.com/&amp;source=gmail&amp;ust=1676395424407000&amp;usg=AOvVaw0F6O3F1VnM2fA4dwuCCcYp">Growisto</a> </strong></span>is a Digital Growth company that specializes in technology and marketing services. Based out of US, and India they have worked with over 300+ brands across a gamut of sectors, including Puma, Tata Cliq, and Victorinox. Their experienced team of 125+ members and technology-first approach has helped them provide high-impact solutions to their clients. They have expertise in custom product development, website development, and digital marketing.</p>
<div>
<div class="adm">
<div id="q_1919" class="ajR h4"></div>
</div>
</div>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2011/11/one-powerful-way-to-speed-up-your-site-and-sales/" rel="bookmark" title="One Powerful Way to Speed Up Your Site and Sales">One Powerful Way to Speed Up Your Site and Sales </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/04/its-official-google-is-using-page-load-speed-in-its-search-ranking-algorithm/" rel="bookmark" title="It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm">It&#8217;s Official &#8211; Google IS Using Page Load Speed in its Search Ranking Algorithm </a></li>
<li><a href="https://www.lexiconn.com/blog/2010/11/google-need-for-speed/" rel="bookmark" title="Google&#8217;s Need For Speed (and 3 things you can do to meet that need)">Google&#8217;s Need For Speed (and 3 things you can do to meet that need) </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2023/02/7-steps-we-implemented-to-reach-google-page-speed-score-of-100-for-a-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Magento 2 More Secure with a Simple Tweak</title>
		<link>https://www.lexiconn.com/blog/2022/06/make-magento-2-more-secure-with-a-simple-tweak/</link>
		<comments>https://www.lexiconn.com/blog/2022/06/make-magento-2-more-secure-with-a-simple-tweak/#comments</comments>
		<pubDate>Thu, 16 Jun 2022 17:49:26 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9424</guid>
		<description><![CDATA[Tweet Magento 2 sites make their platform version public. You can visit ‘domain.com/magento_version’ and get a message like this: Magento/2.4 (Community) You can go to your site, append /magento_version and wonder why Magento developers team made it public. I consider it a security risk and here is how to fix it. All you need to [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2017/10/5-ways-to-optimize-magento-2-performance/" rel="bookmark" title="5 Ways to Optimize Magento 2 Performance">5 Ways to Optimize Magento 2 Performance </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/01/15-common-issues-after-a-magento-1-to-magento-2-migration/" rel="bookmark" title="15 Common Issues After a Magento 1 to Magento 2 Migration">15 Common Issues After a Magento 1 to Magento 2 Migration </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/12/7-seo-mistakes-magento-2-site-owners-make-and-how-to-fix-them/" rel="bookmark" title="7 SEO Mistakes Magento 2 Site Owners Make and How to Fix Them">7 SEO Mistakes Magento 2 Site Owners Make and How to Fix Them </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9424" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F06%2Fmake-magento-2-more-secure-with-a-simple-tweak%2F&amp;via=LexiConn&amp;text=Make%20Magento%202%20More%20Secure%20with%20a%20Simple%20Tweak&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F06%2Fmake-magento-2-more-secure-with-a-simple-tweak%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<div class="scbb-content-box scbb-content-box-blue">From time to time we have guest posts on the blog. Today&#8217;s post is from Konstantin Gerasimov at goivvy.com.</div>
<p>Magento 2 sites make their platform version public. You can visit ‘domain.com/magento_version’ and get a message like this:</p>
<p style="padding-left: 30px;"><span style="color: #008000;"><strong>Magento/2.4 (Community)</strong></span></p>
<p>You can go to your site, append /magento_version and wonder why <span style="text-decoration: underline;"><strong><a href="https://www.goivvy.com" target="_blank">Magento developers</a></strong></span> team made it public.</p>
<p>I consider it a security risk and here is how to fix it.</p>
<p>All you need to do is to disable Magento_Version extension:</p>
<pre style="padding-left: 30px;" lang="bash" line="1" escaped="true">php bin/magento module:disable Magento_Version</pre>
<p>You might want to recompile afterwards:</p>
<pre style="padding-left: 30px;" lang="bash" line="1" escaped="true">php bin/magento deploy:mode:set production</pre>
<p>That&#8217;s it. No more Magento version being displayed on your website.  <img src="https://www.lexiconn.com/blog/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&#8230;</p>
<p><span style="text-decoration: underline;"><strong>About the author:</strong></span> Konstantin Gerasimov is a Magento certified developer with Goivvy.com. He specializes in speed optimization, migration and general Magento support.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2017/10/5-ways-to-optimize-magento-2-performance/" rel="bookmark" title="5 Ways to Optimize Magento 2 Performance">5 Ways to Optimize Magento 2 Performance </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/01/15-common-issues-after-a-magento-1-to-magento-2-migration/" rel="bookmark" title="15 Common Issues After a Magento 1 to Magento 2 Migration">15 Common Issues After a Magento 1 to Magento 2 Migration </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/12/7-seo-mistakes-magento-2-site-owners-make-and-how-to-fix-them/" rel="bookmark" title="7 SEO Mistakes Magento 2 Site Owners Make and How to Fix Them">7 SEO Mistakes Magento 2 Site Owners Make and How to Fix Them </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2022/06/make-magento-2-more-secure-with-a-simple-tweak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento Admin Panel slow? Disable This Setting</title>
		<link>https://www.lexiconn.com/blog/2022/03/magento-admin-panel-slow-disable-this-setting/</link>
		<comments>https://www.lexiconn.com/blog/2022/03/magento-admin-panel-slow-disable-this-setting/#comments</comments>
		<pubDate>Thu, 03 Mar 2022 22:05:14 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9421</guid>
		<description><![CDATA[Tweet If you have been seeing very slow pages in your admin panel lately for Magento 2 store owners, or random spinning icons while waiting for pages to load in the admin, it may be related to a change Adobe made to some of their JavaScript files. Specifically, if you have the feature on for [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2022/02/magento-2-zero-day-rce-vulnerability-all-stores-patched/" rel="bookmark" title="Magento 2 Zero Day RCE Vulnerability &#8211; All Stores Patched">Magento 2 Zero Day RCE Vulnerability &#8211; All Stores Patched </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/11/magento-store-slow-heres-how-it-can-hurt-and-how-you-can-fix-it/" rel="bookmark" title="Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it">Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it </a></li>
<li><a href="https://www.lexiconn.com/blog/2015/01/magento-tip-setting-up-free-shipping/" rel="bookmark" title="Magento Tip: Setting Up Free Shipping">Magento Tip: Setting Up Free Shipping </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9421" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F03%2Fmagento-admin-panel-slow-disable-this-setting%2F&amp;via=LexiConn&amp;text=Magento%20Admin%20Panel%20slow%3F%20Disable%20This%20Setting&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F03%2Fmagento-admin-panel-slow-disable-this-setting%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p>If you have been seeing very slow pages in your admin panel lately for Magento 2 store owners, or random spinning icons while waiting for pages to load in the admin, it may be related to a change Adobe made to some of their JavaScript files.</p>
<p>Specifically, if you have the feature on for &#8220;Admin Usage Tracking&#8221;, which is defined as:</p>
<p style="padding-left: 30px;">Grants permission for Adobe to collect <a href="https://docs.magento.com/user-guide/stores/admin.html">usage data</a> to improve the experience of using the <em>Admin</em>, and related products and services. Allowing data collection also enables <em>In-Product Guidance</em> which is designed to bring interactive content such as help, tool tips, walk-through guides, onboarding information, feature announcements, and more to the <em>Admin</em>. Individual administrators are not identified in usage data. Options:<br />
<strong>Yes</strong> &#8211; Allows data collection and enables <em>In-Product Guidance</em>.<br />
<strong>No</strong> &#8211; Does not allow data collection nor enable <em>In-Product Guidance</em>.</p>
<p>You will want to disable this feature under:</p>
<p><span style="color: #008000;"><em><strong>Stores -&gt; Settings -&gt; Configuration -&gt; Advanced -&gt; Admin</strong></em></span></p>
<p>Once you do that and flush the Magento cache, it should fix these randomly slow loading pages until Adobe can fix their local JavaScript issues.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2022/02/magento-2-zero-day-rce-vulnerability-all-stores-patched/" rel="bookmark" title="Magento 2 Zero Day RCE Vulnerability &#8211; All Stores Patched">Magento 2 Zero Day RCE Vulnerability &#8211; All Stores Patched </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/11/magento-store-slow-heres-how-it-can-hurt-and-how-you-can-fix-it/" rel="bookmark" title="Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it">Magento Store Slow? Here&#8217;s How it can Hurt and How You Can Fix it </a></li>
<li><a href="https://www.lexiconn.com/blog/2015/01/magento-tip-setting-up-free-shipping/" rel="bookmark" title="Magento Tip: Setting Up Free Shipping">Magento Tip: Setting Up Free Shipping </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2022/03/magento-admin-panel-slow-disable-this-setting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 2 Zero Day RCE Vulnerability &#8211; All Stores Patched</title>
		<link>https://www.lexiconn.com/blog/2022/02/magento-2-zero-day-rce-vulnerability-all-stores-patched/</link>
		<comments>https://www.lexiconn.com/blog/2022/02/magento-2-zero-day-rce-vulnerability-all-stores-patched/#comments</comments>
		<pubDate>Mon, 14 Feb 2022 21:35:55 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9418</guid>
		<description><![CDATA[Tweet Adobe / Magento released an emergency patch on Sunday February 13th for all Magento 2.3.3-p1 and higher stores. The Security Bulletin (APSB22-12) describes a remote code execution (rce) vulnerability for Magento 2 stores (both Commerce and Open Source). An RCE allows a hacker to run code or upload a file on a store without [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2019/03/magento-sql-injection-vulnerability-update/" rel="bookmark" title="Magento SQL Injection Vulnerability Update">Magento SQL Injection Vulnerability Update </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/10/poodle-sslv3-vulnerability-a-recap/" rel="bookmark" title="POODLE SSLv3 Vulnerability &#8211; A Recap">POODLE SSLv3 Vulnerability &#8211; A Recap </a></li>
<li><a href="https://www.lexiconn.com/blog/2021/12/apache-log4j-vulnerability-all-servers-secure/" rel="bookmark" title="Apache log4j Vulnerability &#8211; All Servers Secure">Apache log4j Vulnerability &#8211; All Servers Secure </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9418" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F02%2Fmagento-2-zero-day-rce-vulnerability-all-stores-patched%2F&amp;via=LexiConn&amp;text=Magento%202%20Zero%20Day%20RCE%20Vulnerability%20%26%238211%3B%20All%20Stores%20Patched&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F02%2Fmagento-2-zero-day-rce-vulnerability-all-stores-patched%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p>Adobe / Magento released an emergency patch on Sunday February 13th for all Magento 2.3.3-p1 and higher stores. <span style="text-decoration: underline;"><strong><a href="https://helpx.adobe.com/security/products/magento/apsb22-12.html" target="_blank">The Security Bulletin (APSB22-12)</a></strong></span> describes a remote code execution (rce) vulnerability for Magento 2 stores (both Commerce and Open Source).</p>
<p>An RCE allows a hacker to run code or upload a file on a store without needing any special privileges. It is the worst kind of vulnerability for ecommerce software. Adobe indicated that it was already being exploited &#8220;in the wild&#8221;.</p>
<p>The patch is a small 2 file adjustment that stops the vulnerability through better sanitizing inputs. The fix is seamless and does not cause any issues in M2 stores.</p>
<p>All Magento 2.3.3-p1 and higher stores hosted with LexiConn have been patched against this vulnerability. We have not detected any active exploits that used this entry point on our network.</p>
<p>If you have any questions about this patch, please let us know.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2019/03/magento-sql-injection-vulnerability-update/" rel="bookmark" title="Magento SQL Injection Vulnerability Update">Magento SQL Injection Vulnerability Update </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/10/poodle-sslv3-vulnerability-a-recap/" rel="bookmark" title="POODLE SSLv3 Vulnerability &#8211; A Recap">POODLE SSLv3 Vulnerability &#8211; A Recap </a></li>
<li><a href="https://www.lexiconn.com/blog/2021/12/apache-log4j-vulnerability-all-servers-secure/" rel="bookmark" title="Apache log4j Vulnerability &#8211; All Servers Secure">Apache log4j Vulnerability &#8211; All Servers Secure </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2022/02/magento-2-zero-day-rce-vulnerability-all-stores-patched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 2 Commerce Gift Card Fix for Faster Use</title>
		<link>https://www.lexiconn.com/blog/2022/02/magento-2-commerce-gift-card-fix-for-faster-use/</link>
		<comments>https://www.lexiconn.com/blog/2022/02/magento-2-commerce-gift-card-fix-for-faster-use/#comments</comments>
		<pubDate>Mon, 07 Feb 2022 16:06:45 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9414</guid>
		<description><![CDATA[Tweet If you are using Magento 2 Commerce / Adobe Commerce and make use of the Gift Card feature, there is a simple fix that can speed up the use of gift cards in the cart (both checking the balance and applying them). The database for gift cards, specifically the table magento_giftcardaccount, is missing a [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2010/04/new-mastercard-and-discover-rules-concerning-debit-pre-paid-and-gift-cards/" rel="bookmark" title="New Mastercard and Discover Rules Concerning Debit, Pre-paid and Gift Cards">New Mastercard and Discover Rules Concerning Debit, Pre-paid and Gift Cards </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/06/magento-faster-than-a-speeding-bullet/" rel="bookmark" title="Magento &#8211; Faster Than a Speeding Bullet">Magento &#8211; Faster Than a Speeding Bullet </a></li>
<li><a href="https://www.lexiconn.com/blog/2023/11/how-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site/" rel="bookmark" title="How to use a PHP profiler to audit a slow Adobe Commerce site">How to use a PHP profiler to audit a slow Adobe Commerce site </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9414" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F02%2Fmagento-2-commerce-gift-card-fix-for-faster-use%2F&amp;via=LexiConn&amp;text=Magento%202%20Commerce%20Gift%20Card%20Fix%20for%20Faster%20Use&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2022%2F02%2Fmagento-2-commerce-gift-card-fix-for-faster-use%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p>If you are using Magento 2 Commerce / Adobe Commerce and make use of the <span style="text-decoration: underline;"><strong><a href="https://docs.magento.com/user-guide/catalog/product-gift-card.html" target="_blank">Gift Card</a></strong></span> feature, there is a simple fix that can speed up the use of gift cards in the cart (both checking the balance and applying them).</p>
<p>The database for gift cards, specifically the table <span style="color: #008000;"><strong>magento_giftcardaccount</strong></span>, is missing a crucial index that can cause very slow gift card usage if your store has a lot of gift cards.</p>
<p>The column &#8220;Code&#8221;, which is the gift card redemption code, does not have an index on it. There are queries that run when a customer checks the card balance, or attempts to apply the card in the cart of the format:</p>
<pre lang="sql" escaped="true">SELECT COUNT(*) FROM `magento_giftcardaccount` AS `main_table` WHERE ((`code` = 'XYZ'))</pre>
<p>&nbsp;</p>
<pre lang="sql" escaped="true">SELECT `main_table`.* FROM `magento_giftcardaccount` AS `main_table` WHERE ((`code` = 'XYZ')) LIMIT 1</pre>
<p>Without an index, a full table scan must be performed for these 2 queries. If your store has thousands (or millions) of gift cards, these queries can take 3-5 seconds per query, which results in a delay of 6-10 seconds in the cart when the customer tries to use a gift card!</p>
<p>Adding a simple index to this column (or even a UNIQUE index as no 2 codes should be the same) will make these queries complete almost instantly. This means when a customer enters a gift card in the cart, the result is immediate, which is a win for usability!</p>
<p>We added an index to Code for one client who makes extensive use of gift cards, and dropped the time in the cart when applying a gift card from 8 seconds to 0.004 seconds.</p>
<p>A simple fix to drastically speed up the gift card feature in Magento 2 Commerce edition.</p>
<p>&nbsp;</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2010/04/new-mastercard-and-discover-rules-concerning-debit-pre-paid-and-gift-cards/" rel="bookmark" title="New Mastercard and Discover Rules Concerning Debit, Pre-paid and Gift Cards">New Mastercard and Discover Rules Concerning Debit, Pre-paid and Gift Cards </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/06/magento-faster-than-a-speeding-bullet/" rel="bookmark" title="Magento &#8211; Faster Than a Speeding Bullet">Magento &#8211; Faster Than a Speeding Bullet </a></li>
<li><a href="https://www.lexiconn.com/blog/2023/11/how-to-use-a-php-profiler-to-audit-a-slow-adobe-commerce-site/" rel="bookmark" title="How to use a PHP profiler to audit a slow Adobe Commerce site">How to use a PHP profiler to audit a slow Adobe Commerce site </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2022/02/magento-2-commerce-gift-card-fix-for-faster-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache log4j Vulnerability &#8211; All Servers Secure</title>
		<link>https://www.lexiconn.com/blog/2021/12/apache-log4j-vulnerability-all-servers-secure/</link>
		<comments>https://www.lexiconn.com/blog/2021/12/apache-log4j-vulnerability-all-servers-secure/#comments</comments>
		<pubDate>Tue, 14 Dec 2021 02:56:45 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9411</guid>
		<description><![CDATA[Tweet The latest zero-day Apache log4j vulnerability has surprised the online community with how pervasive this issue is in many systems and software packages. It allows hackers to run commands on any server that is running this vulnerable software. Here at LexiConn, we have patched all vulnerable applications like SOLR and Tomcat, or have verified [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2014/10/poodle-sslv3-vulnerability-a-recap/" rel="bookmark" title="POODLE SSLv3 Vulnerability &#8211; A Recap">POODLE SSLv3 Vulnerability &#8211; A Recap </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/04/heartbleed-all-lexiconn-servers-patched/" rel="bookmark" title="Heartbleed &#8211; All LexiConn Servers Patched">Heartbleed &#8211; All LexiConn Servers Patched </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/03/magento-sql-injection-vulnerability-update/" rel="bookmark" title="Magento SQL Injection Vulnerability Update">Magento SQL Injection Vulnerability Update </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9411" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F12%2Fapache-log4j-vulnerability-all-servers-secure%2F&amp;via=LexiConn&amp;text=Apache%20log4j%20Vulnerability%20%26%238211%3B%20All%20Servers%20Secure&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F12%2Fapache-log4j-vulnerability-all-servers-secure%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p>The latest <span style="text-decoration: underline;"><strong><a href="https://www.wired.com/story/log4j-flaw-hacking-internet/" target="_blank">zero-day Apache log4j vulnerability</a></strong></span> has surprised the online community with how pervasive this issue is in many systems and software packages. It allows hackers to run commands on any server that is running this vulnerable software.</p>
<p>Here at LexiConn, we have patched all vulnerable applications like SOLR and Tomcat, or have verified the versions in use are not vulnerable to this issue.</p>
<p>For our Magento clients, Elasticsearch is not susceptible to the remote code execution vulnerability, so there are no issues related to the use of Elasticsearch. We will be updating all Elasticsearch v 6/7 installs to the newly released versions just to be sure there are no future issues.</p>
<p>If you have any questions about this vulnerability, please reach out to us.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2014/10/poodle-sslv3-vulnerability-a-recap/" rel="bookmark" title="POODLE SSLv3 Vulnerability &#8211; A Recap">POODLE SSLv3 Vulnerability &#8211; A Recap </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/04/heartbleed-all-lexiconn-servers-patched/" rel="bookmark" title="Heartbleed &#8211; All LexiConn Servers Patched">Heartbleed &#8211; All LexiConn Servers Patched </a></li>
<li><a href="https://www.lexiconn.com/blog/2019/03/magento-sql-injection-vulnerability-update/" rel="bookmark" title="Magento SQL Injection Vulnerability Update">Magento SQL Injection Vulnerability Update </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2021/12/apache-log4j-vulnerability-all-servers-secure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automated security check against injected malicious JavaScript</title>
		<link>https://www.lexiconn.com/blog/2021/09/automated-security-check-against-injected-malicious-javascript/</link>
		<comments>https://www.lexiconn.com/blog/2021/09/automated-security-check-against-injected-malicious-javascript/#comments</comments>
		<pubDate>Fri, 10 Sep 2021 17:23:06 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9396</guid>
		<description><![CDATA[Tweet E-commerce sites can suffer from hackers injecting pieces of JavaScript to sniff credit card or other sensitive data. It’s usually a checkout page with payment forms where JS code could be placed. There is a simple yet effective way to catch it. You store the original checkout page HTML and then regularly compare your [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2019/06/are-all-of-your-web-pages-free-of-security-errors/" rel="bookmark" title="Are All of Your Web Pages Free of Security Errors?">Are All of Your Web Pages Free of Security Errors? </a></li>
<li><a href="https://www.lexiconn.com/blog/2009/10/one-simple-security-warning-can-ruin-sales/" rel="bookmark" title="One Simple Security Warning Can Ruin Sales">One Simple Security Warning Can Ruin Sales </a></li>
<li><a href="https://www.lexiconn.com/blog/2017/07/what-goes-into-a-magento-security-patch-at-lexiconn-supee-9767/" rel="bookmark" title="What goes into a Magento Security Patch at LexiConn &#8211; SUPEE-9767">What goes into a Magento Security Patch at LexiConn &#8211; SUPEE-9767 </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9396" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F09%2Fautomated-security-check-against-injected-malicious-javascript%2F&amp;via=LexiConn&amp;text=Automated%20security%20check%20against%20injected%20malicious%20JavaScript&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F09%2Fautomated-security-check-against-injected-malicious-javascript%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<div class="scbb-content-box scbb-content-box-blue">From time to time we have guest posts on the blog. Today&#8217;s post is from Konstantin Gerasimov at goivvy.com.</div>
<p>E-commerce sites can suffer from hackers injecting pieces of JavaScript to sniff credit card or other sensitive data.</p>
<p>It’s usually a checkout page with payment forms where JS code could be placed.</p>
<p>There is a simple yet effective way to catch it.</p>
<p>You store the original checkout page HTML and then regularly compare your current checkout page against ‘the gold standard’.</p>
<p>In this article I’ll describe one way of automating this security check using a $10 linux box.</p>
<p>&nbsp;</p>
<h1>1. Test Case</h1>
<p>&nbsp;</p>
<p>We will use a <a href="https://www.goivvy.com">Magento 2</a> e-commerce site as an example.</p>
<p>The script will visit the website, add an item to the cart, proceed to checkout and compare the checkout page HTML against the template we have stored on the server.</p>
<p>If there is a mismatch, it indicates the page has been altered and needs to be reviewed.</p>
<p>&nbsp;</p>
<h1>2. Installation</h1>
<p>&nbsp;</p>
<p>We will use a 2G RAM linux box running Debian 10.</p>
<h3>1.1 Facebook/Webdriver</h3>
<p>Firstly, we need to install facebook/webdriver. That’s a PHP wrapper to work with a browser.</p>
<pre lang="php" line="1" escaped="true">sudo apt update
sudo apt-get install composer
mkdir /home/username/security &amp;&amp; cd /home/username/security
sudo apt-get install php-cli php-zip unzip wget php-curl
composer require facebook/webdriver</pre>
<h3>1.2 Google Chrome Browser</h3>
<p>Next, we will install a google chrome web browser:</p>
<pre lang="php" line="1" escaped="true">wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt-get install ./google-chrome-stable_current_amd64.deb</pre>
<p>&nbsp;</p>
<h3>1.3 ChromeDriver</h3>
<p>ChromeDriver is a standalone server that can talk to Google Chrome browser.</p>
<p>Versions of ChromeDriver and Google Chrome browser should match.</p>
<pre lang="php" line="1" escaped="true">wget https://chromedriver.storage.googleapis.com/92.0.4515.107/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo cp chromedriver /usr/bin/</pre>
<h3>1.4 Xvfb</h3>
<p>Xvfb is a virtual X server. We need it to run Google Chrome properly as we don’t have a monitor connected to our server.</p>
<pre lang="php" line="1" escaped="true">apt-get install xvfb</pre>
<h3>1.5 PHP script to visit a checkout page</h3>
<p>Below is the script that visits the <a href="https://www.goivvy.com">Magento 2</a> website, adds an item to the cart, proceeds to the checkout and compares the checkout page HTML to what we have stored on the server.</p>
<p>/home/username/security/check.php:</p>
<pre lang="php" line="1" escaped="true">namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/';
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities);
$driver-&gt;get('https://domain.com/');
$driver-&gt;wait()-&gt;until(
     WebDriverExpectedCondition::titleContains('Professional Grade Security')
);
$driver-&gt;wait()-&gt;until(
     WebDriverExpectedCondition::elementToBeClickable(WebDriverBy::cssSelector('.action.tocart.primary'))
);
$nextButton = $driver-&gt;findElement(
     WebDriverBy::cssSelector('.action.tocart.primary')
);
$nextButton-&gt;submit();
$driver-&gt;wait()-&gt;until(
     WebDriverExpectedCondition::visibilityOfElementLocated(WebDriverBy::cssSelector('.add-to-cart-dialog'))
);
$driver-&gt;get('https://domain.com/checkout/');
$driver-&gt;wait()-&gt;until(
     WebDriverExpectedCondition::visibilityOfElementLocated(WebDriverBy::cssSelector('.checkout-shipping-method'))
);
$driver-&gt;get('view-source:'.$driver-&gt;getCurrentUrl());
$paymentPage = $driver-&gt;getPageSource();
$old = file_get_contents('/home/username/security/payment.html');
if($old != $paymentPage)
echo 'hack';
$driver-&gt;quits();</pre>
<h3>1.6 Bash wrapper script</h3>
<p>Here is a final bash wrapper script that starts chromedriver server, Xvfb and executes the checkout PHP script.</p>
<p>/home/username/security/script.sh:</p>
<pre lang="php" line="1" escaped="true">#!/bin/bash
/usr/bin/Xvfb :0 -ac -screen 0 1024x768x24 &amp;
DISPLAY=:0 /usr/bin/chromedriver --port=4444 &amp;
sleep 5
echo 'running the test'
response=`/usr/bin/php /home/username/security/check.php`
echo $response
if [[ $response = "hack" ]]
then
echo 'not good'
fi
kill -9 `pidof chromedriver`
kill -9 `pidof Xvfb`</pre>
<p>Instead of ‘echo ‘not good’’, a simple sendmail command could be placed to send a notification email.</p>
<p>&#8230;</p>
<p><span style="text-decoration: underline;"><strong>About the author:</strong></span> Konstantin Gerasimov is a Magento certified developer with Goivvy.com. He specializes in speed optimization, migration and general Magento support.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2019/06/are-all-of-your-web-pages-free-of-security-errors/" rel="bookmark" title="Are All of Your Web Pages Free of Security Errors?">Are All of Your Web Pages Free of Security Errors? </a></li>
<li><a href="https://www.lexiconn.com/blog/2009/10/one-simple-security-warning-can-ruin-sales/" rel="bookmark" title="One Simple Security Warning Can Ruin Sales">One Simple Security Warning Can Ruin Sales </a></li>
<li><a href="https://www.lexiconn.com/blog/2017/07/what-goes-into-a-magento-security-patch-at-lexiconn-supee-9767/" rel="bookmark" title="What goes into a Magento Security Patch at LexiConn &#8211; SUPEE-9767">What goes into a Magento Security Patch at LexiConn &#8211; SUPEE-9767 </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2021/09/automated-security-check-against-injected-malicious-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How We Helped a Magento Store Scale to New Heights</title>
		<link>https://www.lexiconn.com/blog/2021/05/how-we-helped-magento-store-scale-to-new-heights/</link>
		<comments>https://www.lexiconn.com/blog/2021/05/how-we-helped-magento-store-scale-to-new-heights/#comments</comments>
		<pubDate>Mon, 24 May 2021 15:32:42 +0000</pubDate>
		<dc:creator><![CDATA[Robert Mangiafico]]></dc:creator>
				<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">https://www.lexiconn.com/blog/?p=9154</guid>
		<description><![CDATA[Tweet During the COVID-19 Pandemic in late March, one of our Magento 2 Commerce clients had some massive traffic and sales. In partnership with Creatuity, the development agency for the client, we worked to scale up their site to handle this surge in visitors&#8230; This blog post will look at the steps we took on [&#8230;]<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2014/01/how-we-helped-a-magento-store-quickly-handle-thousands-of-orders/" rel="bookmark" title="How We Helped a Magento Store Quickly Handle Thousands of Orders">How We Helped a Magento Store Quickly Handle Thousands of Orders </a></li>
<li><a href="https://www.lexiconn.com/blog/2017/11/redis-and-magento-more-than-meets-the-eye/" rel="bookmark" title="Redis and Magento &#8211; More than Meets the Eye">Redis and Magento &#8211; More than Meets the Eye </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/12/can-a-magento-store-handle-five-orders-per-second-you-bet/" rel="bookmark" title="Can a Magento Store Handle Five Orders Per Second? You Bet!">Can a Magento Store Handle Five Orders Per Second? You Bet! </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<div id="tweetbutton9154" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F05%2Fhow-we-helped-magento-store-scale-to-new-heights%2F&amp;via=LexiConn&amp;text=How%20We%20Helped%20a%20Magento%20Store%20Scale%20to%20New%20Heights&amp;related=LexiConn&amp;lang=en&amp;count=horizontal&amp;counturl=https%3A%2F%2Fwww.lexiconn.com%2Fblog%2F2021%2F05%2Fhow-we-helped-magento-store-scale-to-new-heights%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('https://www.lexiconn.com/blog/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div>
<p>During the COVID-19 Pandemic in late March, one of our Magento 2 Commerce clients had some massive traffic and sales. In partnership with Creatuity, the development agency for the client, we worked to scale up their site to handle this surge in visitors&#8230;</p>
<p>This blog post will look at the steps we took on the hosting end to meet this demand.</p>
<h3><strong><span style="color: #993300;">Identifying Bottlenecks</span></strong></h3>
<p>Visitors to the client&#8217;s website went through the roof from news exposure and marketing. From one night to the next, concentrated visits increased 5 to 10 times, which was an issue.</p>
<p>The hosting cluster set up for their store was designed to handle large amounts of traffic and orders. Scaling up php nodes would allow for increased traffic. But the surge in traffic all at once when commercials aired nationwide, combined with the media attention, and everyone at home watching TV was quite the challenge. We found that bottlenecks were quickly reached.</p>
<p>Here is what the New Relic graph looked like when these traffic spikes occurred initially:</p>
<div id="attachment_9156" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2020/05/mypillow_bad_spikes.png" rel="lightbox[9154]" title="How We Helped a Magento Store Scale to New Heights"><img class="size-medium wp-image-9156" src="https://www.lexiconn.com/blog/wp-content/uploads/2020/05/mypillow_bad_spikes-300x119.png" alt="(click image to enlarge)" width="300" height="119" /></a>
<p class="wp-caption-text">(click image to enlarge)</p>
</div>
<p>As you can see, performance dropped precipitously. We quickly identified that Redis was the first bottleneck we had to overcome (see the next section for specific fixes we implemented). After Redis, we found that a single MySQL database for everything in Magento was the next hurdle. In between Redis and MySQL were also many other tweaks and improvements that were made.</p>
<h3><strong><span style="color: #993300;">Implementing Structural Changes</span></strong></h3>
<p><span style="text-decoration: underline;"><strong>Redis:</strong></span></p>
<p style="padding-left: 30px;">We quickly discovered that Redis uses A LOT of data transfer under heavy traffic. In fact, it completely saturated the 1 Gbps private network card (which led to php and website actions backing up quickly). We had to split Redis off to its own server (away from MySQL), and more importantly, upgrade the private network to a 10 Gbps system.</p>
<p style="padding-left: 30px;">We did this quickly, and Redis was now bursting in the 1-2.5 Gbps range comfortably at peak traffic. No more slowdowns due to Redis reaching network saturation.</p>
<p><span style="text-decoration: underline;"><strong>MySQL:</strong></span></p>
<p style="padding-left: 30px;">Once Redis was running optimally, we found that when traffic spiked all at once, MySQL was having a hard time processing regular Ajax web requests, customer logins, add to cart actions, and checkouts all at the same time. It was quickly determined that splitting the database into three databases (Main, Cart, and Checkout) with Magento Commerce would pay big dividends.</p>
<p style="padding-left: 30px;">We worked with Creatuity to migrate the code to Commerce and split out the databases. Once that was done, MySQL could comfortably scale with high levels of traffic and orders without getting bogged down during peak traffic. It also now supports replicated databases for read-only access to further increase throughput.</p>
<p><span style="text-decoration: underline;"><strong>Misc. Changes:</strong></span></p>
<p style="padding-left: 30px;">In addition to the big changes with Redis and MySQL, we worked on improving performance in a number of areas:</p>
<ul>
<li style="padding-left: 30px;">Tweaking network parameters (TCP/IP level) to improve throughput and private network performance (bare metal servers and network is a distinct advantage in this area)</li>
<li style="padding-left: 30px;">Memory adjustments to MySQL, Redis, etc&#8230; to make more efficient use of in-memory utilization</li>
<li style="padding-left: 30px;">PHP-FPM configuration changes to perform faster at scale</li>
<li style="padding-left: 30px;">Load Balancer adjustments to even out performance across the web nodes</li>
<li style="padding-left: 30px;">Better use of the CDN for static assets to offload NFS and load balancer utilization</li>
</ul>
<h3><strong><span style="color: #993300;">The End Result:</span></strong></h3>
<p>After all of these changes were made in a short period of time, we were able to easily handle <span style="text-decoration: underline;"><strong>over 12,000 simultaneous visitors</strong></span> on the site. The infrastructure was able to support a <span style="text-decoration: underline;"><strong>peak order volume of 5 to 6 orders per second</strong></span>! The New Relic graph now shows a system that is working as it should:</p>
<div id="attachment_9157" style="width: 310px" class="wp-caption aligncenter"><a href="https://www.lexiconn.com/blog/wp-content/uploads/2020/05/mypillow_smooth_sailing.png" rel="lightbox[9154]" title="How We Helped a Magento Store Scale to New Heights"><img class="size-medium wp-image-9157" src="https://www.lexiconn.com/blog/wp-content/uploads/2020/05/mypillow_smooth_sailing-300x118.png" alt="(click image to enlarge)" width="300" height="118" /></a>
<p class="wp-caption-text">(click image to enlarge)</p>
</div>
<p>&nbsp;</p>
<h3><strong><span style="color: #993300;">Monitoring is Key</span></strong></h3>
<p>All of these changes would not have mattered if we didn&#8217;t have an effective monitoring system in place for each component in the cluster. Being able to detect an issue before it balloons into a major problem helps keep things running smoothly. Things such as:</p>
<ul>
<li>NFS monitoring for speed, performance, and errors</li>
<li>TCP/IP monitoring for packet issues and saturation problems</li>
<li>Load Balancer monitoring looking for errors and saturation conditions</li>
<li>Web nodes being monitored for performance, error free, and serving content quickly</li>
<li>Continuous monitoring of add to cart and checkout performance to pinpoint a drop in speed</li>
</ul>
<p>Not only are things such as this monitored, but pro-active action is taken if any &#8220;tripwires&#8221; exceed a defined threshold. This has been the key to keeping things running smoothly for the hosting cluster.</p>
<p>&#8230;</p>
<p>It&#8217;s a good problem to have when you&#8217;re scaling up to handle tens of thousands of shoppers in a short period of time. Both LexiConn and Creatuity rose to the challenge and helped this Magento Commerce deal with unprecedented demand for their products.</p>
<p>If you are looking for a web host that can help your Magento store scale, get the most out of the software, and to have a hosting partner that can help you sleep well at night, don&#8217;t hesitate to reach out to us.  <img src="https://www.lexiconn.com/blog/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="https://www.lexiconn.com/blog/2014/01/how-we-helped-a-magento-store-quickly-handle-thousands-of-orders/" rel="bookmark" title="How We Helped a Magento Store Quickly Handle Thousands of Orders">How We Helped a Magento Store Quickly Handle Thousands of Orders </a></li>
<li><a href="https://www.lexiconn.com/blog/2017/11/redis-and-magento-more-than-meets-the-eye/" rel="bookmark" title="Redis and Magento &#8211; More than Meets the Eye">Redis and Magento &#8211; More than Meets the Eye </a></li>
<li><a href="https://www.lexiconn.com/blog/2014/12/can-a-magento-store-handle-five-orders-per-second-you-bet/" rel="bookmark" title="Can a Magento Store Handle Five Orders Per Second? You Bet!">Can a Magento Store Handle Five Orders Per Second? You Bet! </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://www.lexiconn.com/blog/2021/05/how-we-helped-magento-store-scale-to-new-heights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
