Ubuntu 服务器上的 Mysql 服务器比 Ubuntu 桌面慢

标签 mysql ubuntu ubuntu-server

我想在一个学校项目中测试 Ubuntu 桌面和 Ubuntu 服务器上的 mysql-server(5.7.22,均使用 apt-get 安装)的速度。我有一个运行 3 个 sql 查询的脚本,每个查询 10000 次,并将每个查询完成所花费的时间写入一个文件中。平均而言,我的查询在 Ubuntu 桌面(18.04 64 位)上花费了大约 10 毫秒,但在我的 Ubuntu 服务器(18.04 64 位)上每个查询花费了 2.5 秒,这使得它永远无法与其他结果集相比。我不知道为什么会这样,它们在同一个磁盘上并且具有相同的资源(CPU、RAM 和保存在同一个 SSD 上)它们都在 Virtualbox 中运行(但我只用一台机器运行在一个时间)。

我正在使用来自 mysql 的示例“employees”数据库。

我的脚本:

#!/bin/bash

AantalQ=3 #Amount of queries.
AantalHH=10000  #How often to repeat the queries.

for ((i=1; i<=AantalQ; i++)); do #Loop through queries.
    for ((j=0; j<AantalHH; j++)); do #Repeat the current query.
        echo "Query$i uitvoering $j" #Progress.
        time (mysql --login-path=local employees < "Query$i.sql" > null) 2>> tijd.csv
    done
done

sed -i.bak '/real/!d' tijd.csv #Delete all lines without 'real'.
tr -dc "0-9\n" <tijd.csv >temp.tmp && mv temp.tmp tijd.csv #Delete everything except for numbers.
sed -i.bak 's/^0*//' tijd.csv #Delete leading zeros.

我的查询:

1.

USE employees;
SELECT SUM(salaries.salary),
  AVG(salaries.salary),
  MAX(salaries.salary),
  COUNT(employees.emp_no)
FROM employees
JOIN salaries ON employees.emp_no=salaries.emp_no;

2.

USE employees;
SELECT *                        #208734 records
FROM employees
JOIN salaries ON employees.emp_no=salaries.emp_no
WHERE first_name LIKE 'A%' AND salary > 2500;

3.

USE employees;
SELECT concat(first_name, ' ', last_name) as fullname, de.from_date, de.to_date, dept_name, dm.from_date, dm.to_date, title, salary
FROM employees e
JOIN salaries s ON e.emp_no = s.emp_no
JOIN titles t ON e.emp_no = t.emp_no
JOIN dept_emp de ON e.emp_no = de.emp_no
JOIN departments d ON d.dept_no = de.dept_no
JOIN dept_manager dm ON d.dept_no = dm.dept_no

WHERE first_name LIKE 'B%' OR first_name LIKE 'C%' OR first_name LIKE 'Z%'AND last_name LIKE 'C%' OR last_name LIKE 'O%' OR last_name LIKE 'X%';
    #WHERE DATE(birth_date) BETWEEN '1980-01-01' AND '1980-01-01'

提前致谢!

最佳答案

通过执行以下操作安装 mysqltuner

apt-get install mysqltuner

并在每个虚拟机上运行它。希望它能向您展示分析过程中的不同之处。祝你好运!

关于Ubuntu 服务器上的 Mysql 服务器比 Ubuntu 桌面慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50184997/

相关文章:

linux - Linux 中的 "blk_update_request"是什么?

php - Codeigniter 中的月度报告

php - 如何在 ubuntu 桌面 12.04 上安装 php 5.4?

java - 如何从 proc_open 保存进程资源以便稍后检查状态?

node.js - Bcrypt安装失败

ubuntu - 如何为 debian/ubuntu 打包应用程序的多个发布流?

php - Nginx 不显示 404 页面,而是在根目录中提供索引文件

PHP ADOdb,如何测试查询是否为 "insert, update, delete, or drop"?

php - 使用 PHP Ajax 输出到第二个 div

php - PHP 中的 undefined variable 错误,代码逻辑