我有一个Amazon实例,我们在服务器上的项目执行了大量的插入和更新以及一些复杂的选择。
我们发现MySQL经常占用大量的CPU。
--我正在尝试建立一个较高的内存或较高的cpu是否比上面的设置好.。
下面是cat /proc/meminfo
的输出
MemTotal: 7347752 kB
MemFree: 94408 kB
Buffers: 71932 kB
Cached: 2202544 kB
SwapCached: 0 kB
Active: 6483248 kB
Inactive: 415888 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 168264 kB
Writeback: 0 kB
AnonPages: 4617848 kB
Mapped: 21212 kB
Slab: 129444 kB
SReclaimable: 86076 kB
SUnreclaim: 43368 kB
PageTables: 54104 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 3673876 kB
Committed_AS: 5384852 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 180 kB
VmallocChunk: 34359738187 kB
电流设置:
高CPU超大型实例 7 GB内存,20个EC2计算单元(8个虚拟核,每个计算单元2.5个) 1690 GB实例存储64位平台I/O性能:高API名称: c1.xlarge
可能的设置:
高内存双特大型实例 34.2GB内存13 EC2计算单元(4个虚拟核,每个EC2计算单元3.25 ) 850 GB实例存储64位平台I/O性能:高API名称: m2.2xlarge
发布于 2011-03-30 14:31:20
我会选择32 go的内存和更多的硬盘在RAID。CPU不会有多大帮助-你有自己的cpu能力。您还需要正确配置mysql。
整理查询缓存的碎片,以更好地利用其内存。刷新查询缓存不会从缓存中删除任何查询,这与刷新表或重置查询缓存不同。
但是,我注意到另一种解决方案有一半的磁盘空间:850 of,这可能会减少硬盘的数量。这通常是个坏主意。数据库中最大的问题是硬盘。如果您使用RAID5 -确保您不使用较少的硬盘。如果你根本不使用raid -我建议raid 0。
发布于 2011-05-25 11:29:21
使用vmstat
和iostat
来确定CPU或I/O是否是瓶颈(如果I/O -添加更多内存并将数据加载到内存中)。从shell运行并检查结果:
vmstat 5
iostat -dx 5
vmstat
将在us
列中显示高值,而iostat
将显示较低的磁盘使用率(util
)。vmstat
将在us
列中显示低值,而iostat
将显示高磁盘利用率(util
);所谓高磁盘利用率,指的是>50%。发布于 2011-03-03 15:59:31
这取决于应用程序。
您可以使用梅卡奇缓存mysql查询。这将稍微简化cpu的使用,但是使用这种方法,您需要增加用于存储查询的RAM。
另一方面,如果基于应用程序的类型这是不可行的,那么我建议使用更高的CPU。
https://stackoverflow.com/questions/5179495
复制相似问题