首页 > 其他分享 >服务器集群使用过程中遇到的一些问题

服务器集群使用过程中遇到的一些问题

时间:2022-12-18 20:55:31浏览次数:35  
标签:遇到 数据库 单台 实例 集群 服务器 定时 执行

  自己参与开发的项目,在测试环境只有一台服务器,每次部署的时候只需要部署

单台服务器。可是生产环境则不一样,生产环境部署了10台左右的应用服务,跑起来

的效果和单台服务器不太一样。就好比开展工作的时候,对于重要的工作,一个人

可以做,五个人,十个人也可以同时做。这时就需要管理人员合理地去分配任务,

让大家一起高效地完全一件工作。

问题一:定时任务执行频率过高。

单台服务器执行某一个定时任务可能是1分钟执行一次,可是多台服务器同时在跑,

那理论上1分钟就可以执行6次。由于项目中没有独立的定时任务项目,因此使用了

很多的定时执行任务在连续不断地运行。单台服务器设置这些定时任务的频率,在生产

上面就不可行,如何解决这个问题呢?

解决方案:首先是增大执行的时间间隔,比如以前是1分钟执行一次,现在改为两分钟

或者三分钟执行一次。这样修改之后,还可能出现多台服务器在同一时间执行定时任务的

情况,因此就需要在进一步的优化。每次执行完一次任务之后,向缓存中添加一个最新

执行的时间。当某一台服务器再次执行定时任务的时候,从缓存当中取出最近一次的执行

时间,然后计算和当前时间的差值,如果小于指定的时间比如说2分钟,则不执行。如果

大于指定时间2分钟,则执行。这样就可以很好地解决高频率执行定时任务的问题。

问题二:某些服务配置的实例过多。

比如项目启动的时候,配置MQ消费的实例数,还有其他多线程任务的实例个数。单台

服务器可能配置三四个或者是20个不等。可是当多台服务器在跑的时候,就不能使用原有

的方式,比如20*8=160个实例,这样会大大地降低服务器的性能,虽然是多台也会降低性能。

那么怎么解决呢?

解决方案:调整每一台服务器中某些服务的初始化实例个数。比如将原有实例个数为20的修改

为3个,这样3*8=24个实例。并且这24个实例是分散在8台服务器上面的,处理的效率也会比

单台配置20个实例高很多。

问题三:数据库性能跟不上。

项目上线之后,还没有大规模的使用,在早高峰的时候一个接口的请求量预估在15W到20W。

除了用户的请求之外,还有高频率的数据库写操作,因为服务器在消费MQ的消息,高峰期时每

个小时约有几十万的数据写入表中,给数据库服务器造成了很大的压力。那么如何解决这个问题呢?

解决方案:终极方案是切换数据库,项目中有主从数据库,就类似于备用数据库。最终经过排查,

主库的服务器存在问题,因此切换到备用数据库,服务器的压力小很多。其次是减少和数据库的

交互次数,做各种优化,比如能从缓存中取数据,就不从数据库中拿。能操作两次数据库就搞定

的功能,决不操作三次数据库。这就涉及到多方面的性能优化问题,需要遇到问题的时候具体分析,

然后制定合适的应对方案。

  系统开发是一个非常复杂的过程,在这个过程中会遇到各种各样想象不到的困难和问题,但是

解决问题的方式也是多种多样。而且有些解决方案是不能复用的,需要具体问题具体分析。这就

非常考验一个开发人员解决实际问题的能力,而且需要快速拿出可行的解决方案。在项目开发

设计的时候,就开始考虑各种性能问题,会让后面少走很多弯路。

 

标签:遇到,数据库,单台,实例,集群,服务器,定时,执行
From: https://www.cnblogs.com/yilangcode/p/16990903.html

相关文章

  • frp服务器搭建
    想弄一个自己的访问学校内网资源的代理服务器,于是乎...求助群友..不啦不啦第一步用自己前几天买的服务器搭建frp内网穿透完全按照这个博客搞的.记得在服务器管理界面开......
  • 部署远程服务器
    远程访问提供两个方式:1、拨号网络2、虚拟专用网​虚拟专用网优点:1、成本较低2、连接方便可靠3、完全可靠​网络策略服务器的策略有哪两种:连接请求策略和网络策略​实验......
  • 家庭影音服务器-软件架构及安装
    服务其安装什么系统呢?如果说操作简单考虑和黑群晖(应为没有买群晖的硬件,自己没法装正版系统),还是各种NAS系统,TrunNAS、URaidnOS,...一查种类还真的不少,简直是选择恐惧症,......
  • DockerCompose编排Redis6.2.6以及遇到的那些坑
    场景Docker中使用Dockerfile的方式部署SpringBoot+Vue前后端分离的项目(若依前后端分离框架为例):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12021042......
  • 家庭影音服务器硬件平台
    提到影音绕不开的就是大容量存储,就目前情况机械硬盘的海量存储还是唯一选择,所以实现起来总是绕不开NAS这个思路,比较起来,常规PC系统,固态和机械相结合,或许才是终极解决方案。......
  • Redis Cluster集群分析&部署
    一、为什么使用RedisCluster集群   这里就要说到Redis集群的演变过程1.主从复制   工作模式为提供多台redis服务,选择其中的一台作为master节点向外提供读写服......
  • unix网络编程2.8——高并发服务器(八)unix网络编程系统调用与网络协议栈
    目录系列文章unix网络编程1.1——TCP协议详解(一)unix网络编程2.1——高并发服务器(一)基础——io与文件描述符、socket编程与单进程服务端客户端实现unix网络编程2.2——高并......
  • AlmaLinux 系统搭建 K8s 集群
    前言容器技术:有效的将单个操作系统的资源划分到孤立的组中,技术核心就是通过对资源的限制和隔离把进程运行在一个沙盒中。并且这个沙盒可以被打包成容器镜像(Image),任意地跨平......
  • TIDB-DM数据迁移第三部(集群管理)
    1、对现在dm集群进行缩容,将free状态的worker下线。tiupdmdisplaydm-test查看free状态节点tiupdmscale-indm172.16.1.13:8262-N2、扩容DM集群我是......
  • 1、在自己的腾讯云Linux服务器上配置Sonic
    配置DOCKER配置Docker-compose   ......