急,mysql大数据量性能优化

时间:2021-06-30 11:31:29
linux操作系统,2G内存,mysql数据库,每天数据量达到1000万(插入),恳求各位高手给出优化方案

20 个解决方案

#1


现在情况是每天服务器荡掉,系统已经上线,非常愁人,非常着急

#2


你跟踪下linux的系统日志,看每天什么原因当掉

另外,你说的系统应用情况信息太少,每天插入1000万条数据,如果单是这个“插入”的操作,系统应该没什么问题啊,所以, 还得看你这些系统对数据的处理逻辑,系统的可能瓶颈等等。

其实,优化这个是要综合实际各方面情况来考虑的,你只有那么一两语,我们又看不到你的现场,很难给意见的
最好你提供多点系统相关信息,把一些系统跟踪报告列出来等等

#3


读写分离

#4




建议查看一下你的日志。

是不是你的应用程序打开了过多的连接?

#5


CPU占用率特别高导致服务器荡掉,mysql数据库是不是在进行千万级数据操作的情况下达到极限了?另外数据库并没有过多的连接。

#6




mysql数据库是不是在进行千万级数据操作的情况下达到极限了?

不是,据MYSQL的官方声称,大容量数据操作对它来说是已经有客户在应用的。
几种可能
1。你的操作系统不稳定
2。你的MYSQL配置上有什么问题导致了操作系统的某个缺陷的暴露。
3。MYSQL自身的BUG。

测试检查
1。LINUX自身的日志,什么原因导致宕机。一般共识是LINUX不可能因为某个进程占用CPU过高而导致宕机。CPU调度本身就是操作系统的工作职责。
2。从MYSQL的日志,查找在执行什么操作的时候导致宕机。是否可以再现问题。
3。换台机,模拟相同环境,看是否能再现问题(哪怕用个PC机来模拟)

#7


读写分离后看看

#8


该回复于2009-07-15 11:29:33被版主删除

#9


如果可以的话,数据每天做日中处理 备份清理

#10


mysql千万级的数据没有啥,我的就是这样子的。你的可能是mysql的配置问题。好好检查一下。跟踪一下你的日志。mysql能支持大容量的应用的。我感觉比MS-SQL有用多了。

#11


在MYSQL配置中将key_fuffer_size设为RAM的1/4~1/3大.和bluk_insert_buffer_size设为64M或128M试试看。

#12


服务器死掉,与插入数据应该关系不大了,不过你每天千万级,就应该作相应的操作了,要不最后比较麻烦了

#13


请问什么应用
电信?
互联网b2b企业?
真么会这么大的应用

#14


每天1000万应该不算什么大数据量,mysql的配置文件选择my-huge.cnf,再看看日志报什么错,应该比较容易解决问题!

#15


我晕!能加个好友么?你那1000W才宕机,怎么弄的啊?如果有好的解决办法也教教我吧!!

#16


呵呵,我现在数据量达到300万多条件模糊检索的时候时间得大概5秒,一直也在为优化而设计但是没什么效果.希望能交流交流.
QQ:364623395

#17


引用 5 楼 allenaverson 的回复:
CPU占用率特别高导致服务器荡掉,mysql数据库是不是在进行千万级数据操作的情况下达到极限了?另外数据库并没有过多的连接。

“CPU 占用率过高导致对维护操作的 响应太慢而被判定为宕机”?还是真的宕机了?

另外,如果真是“CPU 太忙”的话,对于 MySQL 来说也许是好事儿。如果是 MySQL 配置不当的话,更可能的是 CPU 闲着,而硬盘狂转。你再找找别的原因吧。

#18


.........

#19


很小的量嘛! 每秒大概也就100多条, 有啥可优化的。 只需要加大你对应表引擎的缓冲区即可。

#20


首先确认是mysql进程崩溃,还是查询响应慢?
如果是mysql进程崩溃,请查看出错日志,把出错日志发出来,大家分析一下。
如果是查询慢无响应,请打开slow-log,并把查询慢的sql发出来,最好也提供相应的表结构定义,这样大家会更好的帮你分析问题。

#1


现在情况是每天服务器荡掉,系统已经上线,非常愁人,非常着急

#2


你跟踪下linux的系统日志,看每天什么原因当掉

另外,你说的系统应用情况信息太少,每天插入1000万条数据,如果单是这个“插入”的操作,系统应该没什么问题啊,所以, 还得看你这些系统对数据的处理逻辑,系统的可能瓶颈等等。

其实,优化这个是要综合实际各方面情况来考虑的,你只有那么一两语,我们又看不到你的现场,很难给意见的
最好你提供多点系统相关信息,把一些系统跟踪报告列出来等等

#3


读写分离

#4




建议查看一下你的日志。

是不是你的应用程序打开了过多的连接?

#5


CPU占用率特别高导致服务器荡掉,mysql数据库是不是在进行千万级数据操作的情况下达到极限了?另外数据库并没有过多的连接。

#6




mysql数据库是不是在进行千万级数据操作的情况下达到极限了?

不是,据MYSQL的官方声称,大容量数据操作对它来说是已经有客户在应用的。
几种可能
1。你的操作系统不稳定
2。你的MYSQL配置上有什么问题导致了操作系统的某个缺陷的暴露。
3。MYSQL自身的BUG。

测试检查
1。LINUX自身的日志,什么原因导致宕机。一般共识是LINUX不可能因为某个进程占用CPU过高而导致宕机。CPU调度本身就是操作系统的工作职责。
2。从MYSQL的日志,查找在执行什么操作的时候导致宕机。是否可以再现问题。
3。换台机,模拟相同环境,看是否能再现问题(哪怕用个PC机来模拟)

#7


读写分离后看看

#8


该回复于2009-07-15 11:29:33被版主删除

#9


如果可以的话,数据每天做日中处理 备份清理

#10


mysql千万级的数据没有啥,我的就是这样子的。你的可能是mysql的配置问题。好好检查一下。跟踪一下你的日志。mysql能支持大容量的应用的。我感觉比MS-SQL有用多了。

#11


在MYSQL配置中将key_fuffer_size设为RAM的1/4~1/3大.和bluk_insert_buffer_size设为64M或128M试试看。

#12


服务器死掉,与插入数据应该关系不大了,不过你每天千万级,就应该作相应的操作了,要不最后比较麻烦了

#13


请问什么应用
电信?
互联网b2b企业?
真么会这么大的应用

#14


每天1000万应该不算什么大数据量,mysql的配置文件选择my-huge.cnf,再看看日志报什么错,应该比较容易解决问题!

#15


我晕!能加个好友么?你那1000W才宕机,怎么弄的啊?如果有好的解决办法也教教我吧!!

#16


呵呵,我现在数据量达到300万多条件模糊检索的时候时间得大概5秒,一直也在为优化而设计但是没什么效果.希望能交流交流.
QQ:364623395

#17


引用 5 楼 allenaverson 的回复:
CPU占用率特别高导致服务器荡掉,mysql数据库是不是在进行千万级数据操作的情况下达到极限了?另外数据库并没有过多的连接。

“CPU 占用率过高导致对维护操作的 响应太慢而被判定为宕机”?还是真的宕机了?

另外,如果真是“CPU 太忙”的话,对于 MySQL 来说也许是好事儿。如果是 MySQL 配置不当的话,更可能的是 CPU 闲着,而硬盘狂转。你再找找别的原因吧。

#18


.........

#19


很小的量嘛! 每秒大概也就100多条, 有啥可优化的。 只需要加大你对应表引擎的缓冲区即可。

#20


首先确认是mysql进程崩溃,还是查询响应慢?
如果是mysql进程崩溃,请查看出错日志,把出错日志发出来,大家分析一下。
如果是查询慢无响应,请打开slow-log,并把查询慢的sql发出来,最好也提供相应的表结构定义,这样大家会更好的帮你分析问题。

#21