作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,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/
我是一名优秀的程序员,十分优秀!