Docker容器内MySQL 5.7在30并发压力测试下频繁崩溃的问题求助
Docker容器内MySQL 5.7在30并发压力测试下频繁崩溃的问题求助
我最近在给一套Docker化的WordPress+MySQL环境做压力测试时,碰到了个棘手的问题:当用JMeter跑30并发用户的测试时,MySQL 5.7容器总是会意外重启,从日志里能明确看到崩溃恢复的记录。
先交代下我的环境配置:服务器是8vCPU、16GB内存,整套服务用docker-compose部署,配置文件如下:
version: '3' # Run command: docker compose --env-file .env.local up services: # Database db_hm: image: mysql:5.7 volumes: - db_data_hm:/var/lib/mysql restart: always ports: - '127.0.0.1:3316:3306' environment: MYSQL_ROOT_PASSWORD: ${HD_DB_PASSWORD} MYSQL_DATABASE: ${HD_DB_NAME} MYSQL_USER: ${HD_DB_USER} MYSQL_PASSWORD: ${HD_DB_PASSWORD} networks: - wpsite_hm # Wordpress wordpress_hm: depends_on: - db_hm build: context: ./docker/wordpress dockerfile: ./Dockerfile read_only: false ports: - '8001:80' expose: - 80 restart: always volumes: - './:/var/www/html' - './php.ini:/usr/local/etc/php/php.ini' environment: HDB_DB_HOST: ${HD_DB_HOST} HDB_DB_USER: ${HD_DB_USER} HDB_DB_NAME: ${HD_DB_NAME} HDB_DB_PASSWORD: ${HD_DB_PASSWORD} networks: - wpsite_hm volumes: db_data_hm:
每次压力测试启动后,MySQL容器日志里都会出现这两行关键提示:
2023-01-28T19:24:21.723597Z 0 [Note] InnoDB: Database was not shutdown normally!
2023-01-28T19:24:21.723601Z 0 [Note] InnoDB: Starting crash recovery.
同时测试期间服务器CPU利用率会飙升到200%以上,但内存使用率一直低于40%,看起来内存并不是瓶颈。
我已经查了不少相关资料,大部分类似问题都指向内存不足,但我的情况明显不符合这个诱因。我也怀疑过数据库损坏或者有进程主动杀死MySQL,但翻遍日志也找不到任何相关的报错信息。
有没有朋友遇到过类似的情况?能不能给我一些排查方向或者解决建议?
备注:内容来源于stack exchange,提问作者Budianto IP
相关产品推荐
相关产品推荐

