数据库压力太大,如何减轻服务器压力

一方晴空 2016-08-12 08:51:31
有一台服务器,用来接收数据,处理数据,然后又作为访问数据库提供服务。以前数据量小,这么多操作放在一个数据库上没什么问题,但是现在数据量比较大,接收的数据每5分钟就要执行一次,这样导致服务器压力骤增,前端访问很卡,现在想做优化,从架构设计或者具体的优化入手,但是我自己没有头绪。

我现在想的是,网卡可能要换成万兆的,专门搞一个数据接收、解析和分发服务器,然后把访问数据库搞成几个主题库放在不同机器上,但是主题数据库又可能会增加客户端开发难度,所以一时没有好的办法,主要就是要保证每5分钟就要有新数据进来,要是只是晚上执行或者只执行一次,那就好办多了。


请各位帮忙一下,看看有没有好的思路或者解决方案。
...全文
813 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一方晴空 2016-08-12
  • 打赏
  • 举报
回复
引用 4 楼 kk185800961 的回复:
这个数据接收和解析的数据库,用户还可以修改数据吗? 如果不可修改数据,用事务复制同步一个只读数据库; 如果还可以修改数据,那就控制好并发锁定问题了,不知道接受的数据是哪里来的,每次接受多少数据,怎么接受的。如果有时间字段,可以将表分区,接受时可先指定到某个分区;或者先接受到另一个表中,再批量或分批插入到当前表。
每5分钟更新一次,更新数据量现在最多已经由800W了,服务器已经用了好几年了,这样的数据是用快照比较好还是用事务同步比较好?我记得MySQL有主从复制,不知道跟SQL Server是不是一样的,但是它的存储过程在复制时要加上标识,表示存储过程是否有更改这类的事务操作,感觉像事务复制。
薛定谔的DBA 2016-08-12
  • 打赏
  • 举报
回复
这个数据接收和解析的数据库,用户还可以修改数据吗? 如果不可修改数据,用事务复制同步一个只读数据库; 如果还可以修改数据,那就控制好并发锁定问题了,不知道接受的数据是哪里来的,每次接受多少数据,怎么接受的。如果有时间字段,可以将表分区,接受时可先指定到某个分区;或者先接受到另一个表中,再批量或分批插入到当前表。
xiaoxiangqing 2016-08-12
  • 打赏
  • 举报
回复
最好分服务器处理
唐诗三百首 2016-08-12
  • 打赏
  • 举报
回复
建议先考虑SQL配置参数优化,SQL语句的写法和算法优化,和索引设计等等软件方面的优化. 系统架构变更和服务器硬件升级应是后考虑的.
giftsf 2016-08-12
  • 打赏
  • 举报
回复
思路完全正确 简单的两个服务器 一个服务器接收处理数据 几个主题库都放在一个服务器 其实类似一个读写分离
中国风 2016-08-12
  • 打赏
  • 举报
回复
读写分离,分服务器 用同步复制的方式,实现收集数据库--同步到 读服务器

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧