在更改 my.cnf 文件后,如何查看哪个数据库 运行 更快?
How do I see which database is running faster after making changes to my.cnf file?
背景
我有 5 台服务器,所有 运行 基本上都是同一个站点,但我在数据库速度方面遇到了困难。部分过程导致我对我的 my.cnf 文件之一进行更改以提高性能。
问题
我很难确定这些设置是否有任何不同。我重新启动 mysql 服务并重新启动了整个服务器,变量显示为已更改但在访问我的站点时我没有看到任何明显的差异。我想要一种方法来量化我的数据库有多快而不依赖于应用程序的前端,这样我就可以向我的老板展示数据库速度的真实数字,而不是查看 google 控制台的加载速度。
研究
我认为 phpmyadmin 中可能有一些工具可以帮助跟踪速度,但是在浏览了不同的选项卡后我找不到任何东西。我看过的所有其他在线资源似乎都在谈论 "expected results" 而不是如何直接测试。
问题
有没有办法直接从数据库(或 phpmyadmin)获取速度信息,而不是使用 Web 应用程序的前端?
最佳现实基准是这样的:
- 捕获实时数据集的副本。
- 打开常规日志。
- 运行 一段时间(比如一个小时)。
- 关闭常规日志。
这给了你两件事:一个起点,以及一个现实说明列表。现在重播:
- 在测试机上加载数据。
- 更改一些 my.cnf 设置。
- 应用捕获的一般日志,计算需要多长时间。
重播另一个设置更改;查看时间是否快或慢。
更好的办法是像真实产品一样安排回放是多线程的。
警告...某些设置在某些内容(数据、索引、连接数等)超过某个阈值之前不会产生任何影响。只有在那个时候,设置才会显示出差异。此基准方法无法预测。
如果您希望对您的my.cnf进行独立审查,请提供以下内容:
- 你有多少内存
- 显示变量;
- 显示全局状态; -- 在 mysld 至少 运行 一天之后。
我会计算几百个公式并判断哪些是危险信号。
背景
我有 5 台服务器,所有 运行 基本上都是同一个站点,但我在数据库速度方面遇到了困难。部分过程导致我对我的 my.cnf 文件之一进行更改以提高性能。
问题
我很难确定这些设置是否有任何不同。我重新启动 mysql 服务并重新启动了整个服务器,变量显示为已更改但在访问我的站点时我没有看到任何明显的差异。我想要一种方法来量化我的数据库有多快而不依赖于应用程序的前端,这样我就可以向我的老板展示数据库速度的真实数字,而不是查看 google 控制台的加载速度。
研究
我认为 phpmyadmin 中可能有一些工具可以帮助跟踪速度,但是在浏览了不同的选项卡后我找不到任何东西。我看过的所有其他在线资源似乎都在谈论 "expected results" 而不是如何直接测试。
问题
有没有办法直接从数据库(或 phpmyadmin)获取速度信息,而不是使用 Web 应用程序的前端?
最佳现实基准是这样的:
- 捕获实时数据集的副本。
- 打开常规日志。
- 运行 一段时间(比如一个小时)。
- 关闭常规日志。
这给了你两件事:一个起点,以及一个现实说明列表。现在重播:
- 在测试机上加载数据。
- 更改一些 my.cnf 设置。
- 应用捕获的一般日志,计算需要多长时间。
重播另一个设置更改;查看时间是否快或慢。
更好的办法是像真实产品一样安排回放是多线程的。
警告...某些设置在某些内容(数据、索引、连接数等)超过某个阈值之前不会产生任何影响。只有在那个时候,设置才会显示出差异。此基准方法无法预测。
如果您希望对您的my.cnf进行独立审查,请提供以下内容:
- 你有多少内存
- 显示变量;
- 显示全局状态; -- 在 mysld 至少 运行 一天之后。
我会计算几百个公式并判断哪些是危险信号。