调整远程 MySQL 服务器?

调整远程 MySQL 服务器?

我必须在 Windows 机器上调整客户端的 MySQL 服务器,但我只能访问 MySQL cli 和一些MySQLAdmin cli 功能。我也不知道如何使用 mysql-bench,因为它需要与 MySQL 在同一台服务器上运行。

有没有办法可以在不访问操作系统的情况下对 MySQL 进行基准测试或调优?管理服务器的系统管理员告诉我,只要将任何配置更改发送给他,他就会应用这些更改,但这将花费很长时间来回传递,而且我甚至不知道需要在哪里进行更改,因为我在系统上看不到任何内容。

还有人遇到过类似的问题吗?

谢谢。

答案1

我们这里谈论的是哪种调整?

也许最好的主意是你们俩都读一本诸如《高性能 MySQL》的书,然后一起制定最佳策略。

远程操作肯定不是最有效的做事方式,但如果另一端有良好的合作,这也并非完全不可能。

我认为这里真正的关键是你们两人要处于“同一支队伍”中。

和“反应迟钝”的系统管理员一起工作也不是件有趣的事。也许你们可以安排一些电话时间,讨论一下总体作战计划……然后再进行微调?

抱歉,我的回答有点模糊和笼统,但对于您的问题的具体细节,我已经尽力了。

希望这可以帮助。

答案2

您要调整什么?有太多因素和变量,您需要非常清楚这一点。您可以在本地设置另一个 MySQL 安装,并在将新参数传递给服务器管理员之前对其进行大量调整,这样可以节省大量时间和精力。

答案3

我不确定您对此进行了多深入的了解,因此,如果这个答案过于笼统,请原谅我。

有几种工具,例如超级打击并且 mybench 应该远程运行。

与此同时,您是否已经完成了确定服务器上已存在的内容的工作?我总是对自己能取得的进展感到惊讶:

  1. 仔细检查服务器的规格(RAM、CPU/核心、磁盘类型和基准)。您的管理员应该愿意为您提供这些。
  2. 确保我选择了合适的表引擎和索引。通常,事务/过程使用 innodb,其他大多数使用 myisam。索引应涵盖您最频繁的查询计划,并具有良好的混合基数,以快速缩减您的集合。
  3. 从那里,您可以调整您的 sql 变量集。从显示变量和显示状态开始,确保您的值与 ram 和流行的引擎类型相匹配(例如,如果一切都是 myisam,那么大 innodb 缓冲区就没有意义了)。根据您的特定数据需求(trx_commit 级别等),可以获得许多小的性能提升。
  4. 生成一两个脚本来运行远程服务器 - perl 是您最好的朋友。您会在网上找到很多帮助,但请从 CPAN 的 DBD::mysql 页面开始。您会惊喜地发现,使用几个非常简单的脚本就可以生成负载。
  5. 运行一两次后检查您的统计数据 - 看看您的查询缓存运行得如何等等。免费的 mysqladmin 工具有一些基本的监控功能,您也可以在测试期间观察。

答案4

听起来完全不可能;告诉他们获取生产规格的性能测试机器,并以相同的方式部署应用程序。获取一个负载模拟器,在加载模拟生产数据(或可行的副本)的同时,用模拟生产流量对其进行攻击

在测试之前不要在生产设备上进行性能调整——您很容易使情况变得更糟,甚至引入功能错误。

相关内容