gpt4 book ai didi

mysql - 为什么 MYSQL 在相同 RAM 和 cpu 的不同虚拟机上插入速度很慢

转载 作者:行者123 更新时间:2023-11-29 10:38:24 25 4
gpt4 key购买 nike

我有一个问题,MYSQL 性能在不同的机器上插入相同的 ram 和 cpu 时遇到问题。

我在 VM Window 2k3 4GB RAM、4 个 CPU 上运行 MYSQL,这些 CPU 在我的 PC 上运行,VMWare Workstaion 12 上构建,而 VM Window 2k3 4GB RAM、4 个 CPU 在服务器上的 ESXi 6.5 上构建。当然服务器的所有硬件都比我的电脑好。

我的PC上的MYSQL在1.5秒内执行3000个查询插入,但在服务器上在48秒内执行3000个查询插入。有什么问题吗?

2 个虚拟机具有相同的 my.ini 配置:

[client]

port=3306

[mysql]

default-character-set=latin1


[mysqld]
port=3306
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"

datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
character-set-server=latin1

default-storage-engine=INNODB

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=500

query_cache_size=0

table_cache=256

tmp_table_size=18M

thread_cache_size=8

myisam_max_sort_file_size=100G

myisam_sort_buffer_size=35M

key_buffer_size=25M

read_buffer_size=64K

read_rnd_buffer_size=256K

sort_buffer_size=256K

innodb_additional_mem_pool_size=2M

innodb_flush_log_at_trx_commit=1

innodb_log_buffer_size=1M

innodb_buffer_pool_size=47M

innodb_log_file_size=24M

innodb_thread_concurrency=18

当我将innodb_flush_log_at_trx_commit配置为0或2时,服务器在0.5秒内运行得非常快,但我想知道当innodb_flush_log_at_trx_commit在我的PC上执行时有什么区别1.5s 但服务器执行需要 48s?

最佳答案

3000/48 大约是旋转驱动器的速度(经验法则:每个 I/O 10 毫秒)。这听起来像 innodb_flush_log_at_trx_commit=1

3000/1.5 听起来甚至比 SSD 还要好,所以我猜测有一个带有电池支持写入缓存的 RAID Controller ,这将使大多数写入几乎是瞬时的。并且拥有 1 的集合是没有问题的。或者驱动器可能启用了写入缓存。

关于mysql - 为什么 MYSQL 在相同 RAM 和 cpu 的不同虚拟机上插入速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45992552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com