Настройка конфигурации MySQL — это важный компонент управления базами данных, осуществляемый профессионалами и администраторами баз данных. Его цель — настроить базу данных в соответствии с ее оборудованием и рабочей нагрузкой. Но за пределами сферы управления базами данных полезность настройки конфигурации MySQL по большей части игнорируется.
Мы предполагаем, что настройка MySQL может существенно повлиять на производительность веб-приложений. Если мы сможем продемонстрировать ценность настройки MySQL, мы считаем, что предприятия и организации могут захотеть внедрить эту практику в более широком масштабе.
Повышение производительности приложений с помощью настройки лучше всего достигается при комплексном подходе, охватывающем следующие области:
Многие опытные разработчики не рассматривают настройку производительности базы данных как возможность улучшить производительность своих приложений, поскольку мало знают об этой области. Они тратят много времени на оптимизацию кодовой базы, но доходит до того, что она уже не приносит ценного результата за вложенные время и энергию. Наше исследование того, как настройка MySQL положительно влияет на производительность популярных веб-приложений с открытым исходным кодом, направлено на то, чтобы продемонстрировать этот факт разработчикам.
Наша процедура тестирования Laravel Aimeos позволяет нам сравнить производительность приложения до и после настройки, используя начальные данные. Запустив сначала тест с конфигурацией по умолчанию, мы получаем ценные результаты контроля для сравнения с настроенной конфигурацией.
Для подготовки и тестирования каждого приложения мы использовали следующий процесс:
Мы публиковали тесты JMeter, статус MySQL и переменные MySQL во время тестов на Github.
В ходе этого исследования мы рассмотрели следующие показатели:
Мы собрали показатели Загрузка ЦП и Количество запросов в секунду для сравнения рабочей нагрузки.
Aimeos Laravel — это популярная платформа веб-приложений для электронной коммерции, предназначенная для создания интернет-магазинов, торговых площадок и B2B-приложений. С помощью Aimeos пользователи могут создавать магазины электронной коммерции с использованием API для Laravel, которые могут масштабироваться для поддержки более 1 миллиарда товаров. Он доступен более чем на 30 языках и имеет более 300 000 установок.
Чтобы протестировать Aimeos, мы начали тест с десятью пользователями, но нам пришлось уменьшить количество пользователей, поскольку мы не смогли завершить тест с конфигурацией по умолчанию.
Мы заполнили базу данных 500 МБ данных.
Продолжительность нашего теста составила 10 минут.
Мы использовали:
Для Aimeos Laravel используется следующая конфигурация:
query_cache_type=1 query_cache_size=134217728 query_cache_limit=16777216 query_cache_min_res_unit=4096 thread_cache_size=0 key_buffer_size=8388608 max_allowed_packet=1073741824 sort_buffer_size=2097152 read_rnd_buffer_size=262144 bulk_insert_buffer_size=8388608 myisam_sort_buffer_size=8388608 innodb_buffer_pool_chunk_size=134217728 innodb_buffer_pool_size=805306368 max_heap_table_size=16777216 tmp_table_size=16777216 join_buffer_size=8388608 max_connections=151 table_open_cache=2048 table_definition_cache=1408 innodb_flush_log_at_trx_commit=1 innodb_log_file_size=201326592 innodb_log_buffer_size=16777216 innodb_write_io_threads=4 innodb_read_io_threads=4 innodb_file_per_table=1 innodb_flush_method=O_DIRECT innodb_thread_concurrency=0 innodb_purge_threads=4 optimizer_search_depth=0 thread_handling=pool-of-threads thread_pool_size=2
Результаты тестирования Aimeos Laravel продемонстрировали значительное улучшение производительности между конфигурацией по умолчанию и настроенной конфигурацией.
Оптимизация MySQL привела к значительному улучшению среднего времени ответа сервера, которое было снижено с 1,4 секунды до менее 800 миллисекунд.
Время отклика (задержка) снизилось на 42 %, а средняя загрузка процессора – на 86 %, а количество запросов в секунду увеличилось на невероятные 291 %, с От 12 до 35 запросов в секунду.
График результатов доступен ниже:
Время ответа (мс), настроенная конфигурация MySQL Aimeos по сравнению с конфигурацией по умолчанию
Загрузка ЦП (%), настроенная конфигурация MySQL Aimeos по сравнению с конфигурацией по умолчанию
Количество запросов в секунду, настроенная конфигурация MySQL Aimeos по сравнению с конфигурацией по умолчанию
Мы объединились с разработчиками Laravel Геворгом Мкртчяном и Сергеем Синицей из компании Initlab, чтобы изучить этот вопрос и очень благодарны за их опыт.
Сергей развернул Aimeos, а Геворг подготовил код для заполнения базы данных.
Наша процедура тестирования с использованием Aimeos Laravel показала значительное улучшение показателей Время отклика (задержка), Загрузка ЦП и Количество запросов в секунду после настройки базы данных конфигурация сервера.
Время отклика (задержка) снизилось на 42 %, а Загрузка ЦП упала на 86 %. Количество запросов в секунду увеличилось в Aimeos Laravel 500MB на 291%.
В заключение, настройка MySQL — это важный аспект управления базами данных, который может оказать существенное влияние на производительность приложений Laravel. Плохо работающие веб-приложения могут привести к увеличению времени загрузки страниц, медленной обработке запросов и ухудшению пользовательского опыта, что может негативно повлиять на SEO и продажи. Оптимизируя производительность веб-приложений с помощью настройки MySQL, предприятия и организации могут увеличить продажи, количество просмотров страниц, коэффициенты конверсии и рейтинг SEO.
С помощью этого исследования мы надеемся продемонстрировать ценность настройки MySQL как средства повышения производительности приложений Laravel и призвать разработчиков Laravel учитывать эту практику при оптимизации производительности своих приложений.
Используя такие инструменты, как Releem, базы данных можно автоматически настроить для достижения оптимальной производительности, что снижает нагрузку на команды разработчиков программного обеспечения.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3