Mysql Linux服务器交换
我注意到我们的服务器交换使用了98.66%(200万台中的1973240台)。减少这种情况的任何提示。仅作为背景,我有一个Mysql Linux服务器交换,mysql,linux,performance,centos,Mysql,Linux,Performance,Centos,我注意到我们的服务器交换使用了98.66%(200万台中的1973240台)。减少这种情况的任何提示。仅作为背景,我有一个 CentOs 6.6 Rack Server 1.92 (24 core) processors 48Gig ram 我们使用它做了一些非常繁重的数据库(MySql)工作,它驻留在240gig SSD上。我们还做了大量的文件写入工作,例如,今天我不得不修复一些问题,因为我们使用了99%的2Tb主驱动器,我们还有160gb SSD用于写入报告文件。它通常在73%的ra
CentOs 6.6 Rack Server
1.92 (24 core) processors
48Gig ram
我们使用它做了一些非常繁重的数据库(MySql)工作,它驻留在240gig SSD上。我们还做了大量的文件写入工作,例如,今天我不得不修复一些问题,因为我们使用了99%的2Tb主驱动器,我们还有160gb SSD
用于写入报告文件。它通常在73%的ram使用率和300%的cpu使用率下运行。因此,任何帮助都将是美妙的。就像我说的,我们用它做了很多工作。例如,大约每小时数据库流量5.2Gb
哎呀,我以为我把这个放在服务器上了,但我看不到移动它的方法
谢谢,MySQL在交换时性能非常差
48GB——这是怎么回事?主要是MySQL吗?如果是这样,让我们看看如何减少MySQL中的缓存以避免交换
如果您使用的是InnoDB,请将InnoDB\u buffer\u pool\u size
设置为大约70%的可用ram。和键缓冲区大小至20M
如果您正在使用MyISAM;好吧,不要。(如果需要,我会详细说明。)
73%的内存听起来你并没有真正交换
300%的CPU听起来像是有些非MySQL应用程序受到CPU的限制,或者有些查询速度较慢。如果是后者,我们来看看;我们可能能够改进它们。我们同时使用InnoDB和MyIsam,我们有mysql 5.5,没有全文搜索,缓冲池设置为30GB,密钥缓冲区设置为1.5GB。这是一个专用服务器,因此我们对其进行了非现场管理。他们说35G实际使用量
和如果您的服务器正在积极写入交换,而不是。
,我主要在上面进行设置,但我们确实得到了他们的支持。我认为这可能是由于高磁盘使用率造成的,在2T的使用率中,磁盘使用率为99%,我将其降低到47%。现在检查它实际上是在100%(2000000/2000000)
这是通过whm进行的,所以这可能只是一个骗局。如果它落后,那么我们可能在高峰使用时间达到100%。那看起来有用吗?我也非常感谢你抽出时间。无需详细说明MyISAM,它是出于必要而使用的,好吧,我告诉你,我需要设置一些类似Sphinx的东西,全文是必须的,我们做数百万的全文查询,没有办法,因为我无法安装更新的MySql(半托管的东西)。我可能可以,但他们不会给我们支持。300%是因为csv文件,我们所做的是让客户搜索或我们聚合的数据库(我不能给出具体细节),他们使用csv文件来做这件事,其中一些是数百万行的,我们从中生成数百万行的报告。我最近用RabbitMq和MapReduce样式的设置重建了它(现在还不完全满意)。虽然总有改进的余地,但我想说,我至少处于PHP/MySql/Jquery专家级别的低端。我可能很快会添加Sphinx和Casandra(用于缩减),并从文件块到单独的行。Ugg这太长了,实际上我在查看这些文件时,正在转储大约1TB的垃圾/旧文件。这可能就是为什么它如此之多。是否以字节(2MB)为单位使用了“交换”?KB(2GB)?操作系统页面(8GB)?或者其他单元?除了MySQL的内存调优,请看@Nemo-这个问题已经有3年了,我们感觉到服务器发生了变化,我们现在使用mongoDB处理这些数据,等等。当MySQL中有1.2亿行时,就会发生这种情况。我很欣赏你的评论,但在这一点上,这只是个轶事。