Skip to content

Extremely slow Magento 2 env when specified zstd compression #54

@monteshot

Description

@monteshot

Version of Warden

in-dev

Operating System and Installation Method

Linux monteshot 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 15:05:05 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Image

php-fpm:8.2-magento2

Describe the Bug

When I specify compression type that "works on AWS" (zstd), the whole Magento becomes very slow(web-part - 100%)

return [
    'backend' => [
        'frontName' => 'admin'
    ],
    'crypt' => [
        'key' => '<redacted>'
    ],
    'db' => [
        'table_prefix' => '',
        'connection' => [
            'default' => [
                'host' => 'db',
                'dbname' => 'magento',
                'username' => 'magento',
                'password' => 'magento',
                'active' => '1',
                'driver_options' => [
                    1014 => false
                ],
                'model' => 'mysql4',
                'engine' => 'innodb',
                'initStatements' => 'SET NAMES utf8;'
            ]
        ]
    ],
    'queue' => [
        'amqp1' => [
            'host' => '<redacted>',
            'port' => '5672',
            'user' => '<redacted>',
            'password' => '<redacted>',
            'virtualhost' => '<redacted>'
        ],
        'amqp' => [
            'host' => 'rabbitmq',
            'port' => '5672',
            'user' => 'guest',
            'password' => 'guest',
            'virtualhost' => '/'
        ],
        'consumers_wait_for_messages' => 0
    ],
    'cron_consumers_runner' => [
        'cron_run' => true,
        'max_messages' => 100,
        'single_thread' => true,
        'consumers-wait-for-messages' => 0,
        'consumers' => [
            <redacted>
        ]
    ],
    'resource' => [
        'default_setup' => [
            'connection' => 'default'
        ]
    ],
    'x-frame-options' => 'SAMEORIGIN',
    'MAGE_MODE' => 'developer',
    'session' => [
        'save' => 'redis',
        'redis' => [
            'host' => 'redis',
            'port' => '6379',
            'password' => '',
            'timeout' => '2.5',
            'persistent_identifier' => '',
            'database' => '2',
            'compression_threshold' => '2048',
            'compression_library' => 'gzip',
            'log_level' => '1',
            'max_concurrency' => '20',
            'break_after_frontend' => '5',
            'break_after_adminhtml' => '30',
            'first_lifetime' => '600',
            'bot_first_lifetime' => '60',
            'bot_lifetime' => '7200',
            'disable_locking' => '1',
            'min_lifetime' => '60',
            'max_lifetime' => '2592000',
            'sentinel_master' => '',
            'sentinel_servers' => '',
            'sentinel_connect_retries' => '5',
            'sentinel_verify_master' => '0'
        ]
    ],
    'cache' => [
        'frontend' => [
            'default' => [
                'id_prefix' => '40d_',
                'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis',
                'backend_options' => [
                    'server' => 'redis',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'persistent' => 'frontend',
                    'compress_data' => '3',
                    'compress_tags' => '3',
                    'compression_lib' => 'zstd',
                    'use_lua' => true
                ]
            ],
            'page_cache' => [
                'id_prefix' => '40d_',
                'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis',
                'backend_options' => [
                    'server' => 'redis',
                    'database' => '1',
                    'port' => '6379',
                    'password' => '',
                    'persistent' => 'pagecache',
                    'compress_data' => '3',
                    'compress_tags' => '3',
                    'compression_lib' => 'zstd',
                    'use_lua' => true
                ]
            ]
        ],
        'allow_parallel_generation' => false
    ],
    'lock' => [
        'provider' => 'db'
    ],
    'cache_types' => [
        'config' => 1,
        'layout' => 1,
        'block_html' => 1,
        'collections' => 1,
        'reflection' => 1,
        'db_ddl' => 1,
        'compiled_config' => 1,
        'eav' => 1,
        'customer_notification' => 1,
        'config_integration' => 1,
        'config_integration_api' => 1,
        'google_product' => 1,
        'full_page' => 1,
        'config_webservice' => 1,
        'translate' => 1,
        'vertex' => 1,
        'timeslots_operations_cache' => 1,
        'brands_operations_cache' => 1,
        'userlocation_operations_cache' => 1,
        'ccbanners' => 1,
        'sales_operations_cache' => 1
    ],
    'install' => [
        'date' => 'Mon, 06 Apr 2020 14:31:39 +0000'
    ],
  
    'remote_storage' => [
        'driver' => 'file'
    ],
    'directories' => [
        'document_root_is_pub' => true
    ],
    'system' => [
        'default' => [
            'catalog' => [
                'search' => [
                    'engine' => 'opensearch',
                    'elasticsearch7_server_hostname' => 'elasticsearch',
                    'elasticsearch7_server_port' => '9200',
                    'elasticsearch7_index_prefix' => 'magento',
                    'elasticsearch7_enable_auth' => '0',
                    'elasticsearch7_server_timeout' => '15',
                    'opensearch_server_hostname' => 'opensearch',
                    'opensearch_server_port' => '9200',
                    'opensearch_index_prefix' => 'magento',
                    'opensearch_enable_auth' => '0',
                    'opensearch_server_timeout' => '15'
                ]
            ],
            'graphql' => [
                'session' => [
                    'disable' => '1'
                ]
            ],
            'system' => [
                'full_page_cache' => [
                    'caching_application' => '1'
                ]
            ]
        ]
    ],
    'db_logger' => [
        'output' => 'disabled',
        'log_everything' => 1,
        'query_time_threshold' => '0.001',
        'include_stacktrace' => 1
    ],
    'modules' => [
        'JustBetter_Sentry' => 1
    ],
    'indexer' => [
        'batch_size' => [
            'cataloginventory_stock' => [
                'simple' => 200
            ],
            'catalog_category_product' => 666,
            'catalogsearch_fulltext' => [
                'partial_reindex' => 100,
                'mysql_get' => 500,
                'elastic_save' => 500
            ],
            'catalog_product_price' => [
                'simple' => 200,
                'default' => 500,
                'configurable' => 666
            ],
            'catalogpermissions_category' => 999,
            'inventory' => [
                'simple' => 210,
                'default' => 510,
                'configurable' => 616
            ]
        ]
    ],
    'deployment' => [
        'blue_green' => [
            'enabled' => 1
        ]
    ]
];

To Reproduce

  1. Go to 'env.php'
  2. Specify zstd as the compression lib
  3. Go to the frontend
  4. See how slowly M2 loads

Expected Behavior

M2 Fast loads as in the case when no compression lib is specified

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions