<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mage-OS Hyvä</title><description>Posts tagged Hyvä</description><link>https://mage-os.org</link><language>en</language><lastBuildDate>Wed, 22 Jul 2026 13:19:09 GMT</lastBuildDate><item><title>Mage-OS + Hyvä vs. Magento + Luma: Real Performance Numbers</title><link>https://mage-os.org/ecommerce-insights/2026-06-09-mage-os-hyva-vs-magento-luma-performance-benchmark</link><guid isPermaLink="true">https://mage-os.org/ecommerce-insights/2026-06-09-mage-os-hyva-vs-magento-luma-performance-benchmark</guid><description>I ran a controlled 250-user load test on identical AWS infrastructure to find out how much faster Mage-OS + Hyvä is than Magento + Luma under real concurrency.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;During a recent client pitch, a question came up that vendor benchmarks couldn’t answer cleanly: how much faster is Mage-OS with &lt;a href=&quot;https://www.hyva.io/&quot;&gt;Hyvä&lt;/a&gt; than Magento with Luma under real concurrency?&lt;/p&gt;
&lt;p&gt;I decided to find out properly. That meant identical AWS infrastructure for both stacks, a controlled k6 load test, and Full Page Cache deliberately disabled so PHP actually renders every request.&lt;/p&gt;
&lt;h2 id=&quot;what-was-tested&quot;&gt;What was tested&lt;/h2&gt;
&lt;p&gt;Two stacks, zero shared resources. Each ran on its own dedicated EKS node group: four m6i.2xlarge nodes (8 vCPU, 32 GB each). Same Magento 2.4.7-p9 base. Same catalog generated by &lt;code&gt;magento setup:perf:generate-fixtures&lt;/code&gt;: 5,000 products across 100 categories. The Luma database was generated first, then dumped and imported into the Hyvä schema to guarantee identical data.&lt;/p&gt;
&lt;p&gt;Stack A was standard Magento with Luma: RequireJS, KnockoutJS, jQuery, layout XML with deep block nesting. Stack B was Mage-OS with Hyvä, Alpine.js, Tailwind CSS, and Typesense replacing OpenSearch for storefront search.&lt;/p&gt;
&lt;p&gt;The key difference at the PHP level: Luma processes layout XML with complex UI component hierarchies on every request. Hyvä replaces the entire frontend layer with simpler PHTML templates and Alpine.js directives. The server-side rendering path is shorter.&lt;/p&gt;
&lt;p&gt;Both stacks had Full Page Cache and Varnish disabled. With FPC on, both serve cached HTML at near-identical speeds. That benchmarks your cache layer, not your platform. Disabling it forces every request through the full rendering pipeline.&lt;/p&gt;
&lt;h2 id=&quot;the-results&quot;&gt;The results&lt;/h2&gt;
&lt;p&gt;250 virtual users, ramped over six minutes, sustained for five minutes, across a realistic traffic mix: 30% browse (homepage + category), 25% search, 25% product detail pages, 20% add-to-cart via REST API. Both stacks ran in parallel in the same time window.&lt;/p&gt;
&lt;div style=&quot;overflow:auto&quot;&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Metric&lt;/th&gt;&lt;th&gt;Luma&lt;/th&gt;&lt;th&gt;Hyvä&lt;/th&gt;&lt;th&gt;Difference&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;p50 (median)&lt;/td&gt;&lt;td&gt;1,040 ms&lt;/td&gt;&lt;td&gt;201 ms&lt;/td&gt;&lt;td&gt;5.2x faster&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;p90&lt;/td&gt;&lt;td&gt;6,610 ms&lt;/td&gt;&lt;td&gt;3,580 ms&lt;/td&gt;&lt;td&gt;1.8x faster&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;p95&lt;/td&gt;&lt;td&gt;8,000 ms&lt;/td&gt;&lt;td&gt;3,680 ms&lt;/td&gt;&lt;td&gt;2.2x faster&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Throughput&lt;/td&gt;&lt;td&gt;36 req/s&lt;/td&gt;&lt;td&gt;51 req/s&lt;/td&gt;&lt;td&gt;+42%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;The median is the number that matters most for most users. At p50, Hyvä responded in 201 ms while Luma took 1,040 ms. Five times faster, same hardware.&lt;/p&gt;
&lt;p&gt;The 42% throughput gap is the capacity planning number. Same infrastructure, same VU count, but Hyvä completed 40,021 requests to Luma’s 28,147 over the 13-minute test. Faster rendering frees PHP-FPM workers sooner, so more requests get through per second.&lt;/p&gt;
&lt;p&gt;Neither stack hit a CPU or memory ceiling. Peak CPU on both was around 20-25%. The bottleneck is PHP-FPM worker concurrency, not compute.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Grafana dashboard showing p95 response time overlay, p50 median, throughput, and HTTP status codes — Luma (blue) vs Hyvä (green)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/benchmark-grafana-top.D52ZfvFB_ZPRT5f.webp&quot; &gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Grafana dashboard showing TTFB p95, response time by page type, and VU ramp — Luma vs Hyvä&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; width=&quot;1920&quot; height=&quot;1080&quot; src=&quot;/_astro/benchmark-grafana-bottom.JwAQY_Vc_ZpRbvg.webp&quot; &gt;&lt;/p&gt;
&lt;h2 id=&quot;per-page-breakdown&quot;&gt;Per-page breakdown&lt;/h2&gt;
&lt;p&gt;The improvement isn’t isolated to one slow endpoint. Every page type shows the same gap.&lt;/p&gt;
&lt;div style=&quot;overflow:auto&quot;&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Page&lt;/th&gt;&lt;th&gt;Luma p95&lt;/th&gt;&lt;th&gt;Hyvä p95&lt;/th&gt;&lt;th&gt;Ratio&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Homepage&lt;/td&gt;&lt;td&gt;7,545 ms&lt;/td&gt;&lt;td&gt;3,698 ms&lt;/td&gt;&lt;td&gt;2.0x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Category&lt;/td&gt;&lt;td&gt;7,899 ms&lt;/td&gt;&lt;td&gt;3,738 ms&lt;/td&gt;&lt;td&gt;2.1x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Search&lt;/td&gt;&lt;td&gt;8,320 ms&lt;/td&gt;&lt;td&gt;3,646 ms&lt;/td&gt;&lt;td&gt;2.3x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Product detail&lt;/td&gt;&lt;td&gt;8,121 ms&lt;/td&gt;&lt;td&gt;3,703 ms&lt;/td&gt;&lt;td&gt;2.2x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Add to cart (API)&lt;/td&gt;&lt;td&gt;7,754 ms&lt;/td&gt;&lt;td&gt;3,670 ms&lt;/td&gt;&lt;td&gt;2.1x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;Search shows the largest gap at 2.3x. Part of that is the &lt;a href=&quot;https://github.com/run-as-root/Typesense-Magento-2&quot;&gt;Typesense module&lt;/a&gt; returning results faster than OpenSearch for storefront queries. Typesense is also the foundation for the RAG-based AI features described in the &lt;a href=&quot;/case-studies/2026-06-02-how-mage-os-beat-shopify-without-a-feature-war&quot;&gt;companion post about the Shopify pitch&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;what-the-database-data-shows&quot;&gt;What the database data shows&lt;/h2&gt;
&lt;p&gt;Both stacks shared the same RDS MySQL 8.0 instance with separate schemas. Hyvä executed fewer SQL queries per HTTP request (43 vs 56 for Luma) but examined more rows per query. Despite 7x the row I/O, Hyvä’s response times are still 2.2x faster. PHP rendering overhead dominates. Database behavior matters for optimization, but frontend architecture is the bigger lever for perceived performance.&lt;/p&gt;
&lt;p&gt;The RDS instance stayed well below its limits throughout. Threads running peaked at 8-10, slow queries were near zero.&lt;/p&gt;
&lt;p&gt;I ran this benchmark on 2026-04-12, using &lt;a href=&quot;https://www.mappia.io/&quot;&gt;Mappia&lt;/a&gt; for Kubernetes deployment.&lt;/p&gt;</content:encoded><category>eCommerce Insights</category><category>Performance</category><category>Hyvä</category><category>Benchmark</category><category>Mage-OS</category><author>david-lambauer</author></item><item><title>How a Mage-OS Pitch Beat Shopify Without a Feature War</title><link>https://mage-os.org/case-studies/2026-06-02-how-mage-os-beat-shopify-without-a-feature-war</link><guid isPermaLink="true">https://mage-os.org/case-studies/2026-06-02-how-mage-os-beat-shopify-without-a-feature-war</guid><description>A 900-person German publisher was ready to sign with Shopify. I walked in without a feature checklist and walked out with the contract.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The marketing department had just taken over responsibility for the online shop. Within weeks, they had one request: Shopify.&lt;/p&gt;
&lt;p&gt;Their reasoning wasn’t irrational. The existing Magento installation was several years behind on upgrades. No &lt;a href=&quot;https://www.hyva.io/&quot;&gt;Hyvä&lt;/a&gt;. None of the modern features that had shipped since. When a competing integrator demoed a Business Central connection they’d stood up in 50 minutes, the pitch looked even more compelling.&lt;/p&gt;
&lt;p&gt;I walked into that pitch with something different from a features list.&lt;/p&gt;
&lt;h2 id=&quot;stop-comparing-today&quot;&gt;Stop comparing today&lt;/h2&gt;
&lt;p&gt;The feature comparison game is one you can’t win against a larger SaaS platform. Shopify has a big app store, polished dashboards, and years of marketing spend telling merchants it’s the easy choice.&lt;/p&gt;
&lt;p&gt;So I didn’t play that game.&lt;/p&gt;
&lt;p&gt;My first move was to reframe the question entirely. Instead of “which platform has a better page builder today?”, I asked: “What will your competitors look like in 12 months?”&lt;/p&gt;
&lt;p&gt;My answer: AI is about to commoditize every feature on any comparison spreadsheet. ChatGPT, Claude, and their successors are available to every merchant and every competitor equally. Everyone has access to the same knowledge.&lt;/p&gt;
&lt;p&gt;The only thing that can’t be copied is your data.&lt;/p&gt;
&lt;h2 id=&quot;what-the-pitch-actually-showed&quot;&gt;What the pitch actually showed&lt;/h2&gt;
&lt;p&gt;The demo wasn’t a 50-slide deck. I assembled it in roughly 20 minutes from things the Mage-OS community had already built.&lt;/p&gt;
&lt;p&gt;The first piece was the Hyvä Commerce admin. The page builder question came up early. My answer was direct: every platform needs CI work to match a brand’s design. That’s true whether you pick Shopify, Hyvä, or anything else. That’s not a differentiator. The performance gap is.&lt;/p&gt;
&lt;p&gt;The differentiator was what came next.&lt;/p&gt;
&lt;p&gt;I showed an agentic admin proof-of-concept built by the Mage-OS team. The idea: type a prompt inside your e-commerce admin, and the system creates a landing page skeleton using content it already knows about your store. Products, categories, past purchase behavior, brand tone. You finish the last 20% in the &lt;a href=&quot;/initiatives/2026-04-23-mageos-widgetkit&quot;&gt;page builder&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The room’s reaction was immediate. Marketing people don’t care how the plumbing works. They care about getting from “we have new Easter products” to “we have a live landing page” without a two-week agency sprint.&lt;/p&gt;
&lt;p&gt;The second demo was product data enrichment. A common pain: every new product needs a name, description, short description, SEO description, and schema markup. The AI enrichment feature takes a raw input and fills the rest automatically.&lt;/p&gt;
&lt;p&gt;The third was reporting. Forget opening a reports tab, exporting an Excel file, and pivoting a table. I showed a chat interface inside the admin: ask a natural language question, get an answer. “What were the top five bestselling categories over the last three months?” is a question you type, not a dashboard you configure.&lt;/p&gt;
&lt;h2 id=&quot;handling-the-objections-nobody-puts-on-the-agenda&quot;&gt;Handling the objections nobody puts on the agenda&lt;/h2&gt;
&lt;p&gt;Every pitch like this has two people in the room who never lead with their actual concern.&lt;/p&gt;
&lt;p&gt;There’s always someone who cares about data privacy. The answer: Mage-OS runs on infrastructure you control. You host your own LLM on AWS Frankfurt or wherever you need it. Your store’s data never trains a competitor’s model.&lt;/p&gt;
&lt;p&gt;There’s usually someone who asks about sustainability. Hetzner and many managed cloud providers power their infrastructure with green energy. Covered.&lt;/p&gt;
&lt;p&gt;And then there’s the quiet “but is this thing actually backed by anyone?” anxiety that SaaS platforms benefit from without earning. I used the Linux distribution analogy. Adobe Commerce is Red Hat: enterprise-grade, expensive, built for a specific bracket. Mage-OS is closer to Ubuntu: community-driven, SMB-focused, and moving fast. The Hyvä and Mollie integrations add credibility for a European merchant audience.&lt;/p&gt;
&lt;p&gt;None of these objections derailed the meeting.&lt;/p&gt;
&lt;h2 id=&quot;what-other-agencies-can-take-from-this&quot;&gt;What other agencies can take from this&lt;/h2&gt;
&lt;p&gt;The demo that won this pitch was built from community work. AI data enrichment, the agentic content creation proof-of-concept, and the Typesense integration are all being built into Mage-OS core. Any agency can show up with the same story.&lt;/p&gt;
&lt;p&gt;The technical parts aren’t the hard part. A chat interface that answers questions about your store’s data isn’t a multi-year project. A working version can be built in days with the right stack.&lt;/p&gt;
&lt;p&gt;The hard part is the reframe. When a client is already sold on Shopify, meeting them on the features battlefield gives you a losing hand. Shift the conversation to what e-commerce actually looks like when AI is everywhere and SaaS vendors control your data.&lt;/p&gt;
&lt;p&gt;That’s the pitch that won.&lt;/p&gt;</content:encoded><category>Case Studies</category><category>Mage-OS</category><category>Sales</category><category>AI</category><category>Hyvä</category><author>david-lambauer</author></item></channel></rss>