我们正在运行一个LAMP堆栈(Perl,MySQL),最近由于使用的增加和用户行为的变化,我们的数据库负载增加了大约三倍.让我们的系统超负荷。
使用相当标准的三层体系结构,大量的few服务器(似乎不是问题所在)、一些专用服务器(不认为这是问题所在)和具有lota (72 DB )内存的现代Sun硬件上的一个相当大的MySQL数据库(DB似乎是当前的瓶颈)。
我想有两个问题:
( 1)有人知道他们可以为我们提供一些资源来帮助我们解决负载问题?购买硬件无疑是摆在桌面上的;配置更改也是如此.
( 2)有大量经验的人会对有偿咨询工作感兴趣吗?我们需要一个人,最好是愿意去罗利NC现场帮忙.第一个目标是摆脱当前的危机;第二个目标是帮助计划在未来两年再增加10倍的使用量。
(作为问题2的子问题:你到哪里去找这样的顾问??)
提前谢谢!-Steve
发布于 2009-09-22 17:04:06
好消息是,如果是DB问题,那么许多类型的DB工作实际上可以通过远程连接有效地完成。如果您能够快速地将VPN设置到服务器集群和远程SSH /终端帐户中,那么您的顾问范围就会迅速扩大。
我本人从未与珀科纳合作过,但是他们的MySQL可伸缩性+性能书真的很好,就像他们在Maatkit上的工作一样。其他回馈社区的顾问包括杰里米@已证明的尺度和开放查询小组。
发布于 2009-09-22 15:59:28
购买硬件无疑是摆在桌面上的;配置更改也是如此.
在我的候选名单上,第二和第三位就是数据库设计。通常,当数据库负载突然膨胀而没有相应的使用量增长时,就会在某个地方出现O(n^m)问题。连接中的全表扫描、低效的去正规化、n+1故障,可能会在插入数据时锁定争用,诸如此类。解决方案可以简单到添加一些精心选择的索引,或者像重新设计数据模型一样复杂。
我已经多年没有使用MySQL了,但我记得的是:您可以让它记录所有请求及其执行时间。您应该查看该日志,并找出究竟是什么导致数据库成为瓶颈。
https://serverfault.com/questions/67731
复制相似问题