市面上存在两种数据库负载均衡的思路:1
基于数据库连接的负载均衡:例如总共有100个数据库连接,50个连接登录到数据库机器A,另外50个连接登录到数据库机器B,这样每个连接中接下来的所有请求全都是发往同一台数据库机器的
这种数据库负载均衡的思路模拟了WEB上的负载均衡方法,但是由于WEB连接是短时间连接(连接建立后,获取需要的HTML等资源后,连接马上被关闭),而数据库连接是长时间连接(连接建立后,可长时间保持,客户可不停向数据库发送SQL请求,数据库做出回答,如此不断循环直到连接被人为或因错而断开为止),因此这种数据库负载均衡思路存在着明显的缺点:有可能会发生绝大部分的请求压力都集中到某台数据库机器上去,从而使得负载均衡效果失效
2
基于批处理请求的负载均衡:在建立数据库连接的时候,会同时与每台数据库服务器建立连接,之后针对客户端的每次请求,都会根据负载均衡算法,独立地选出某个数据库节点来执行这个请求
此种思路符合数据库长时间连接的特征,不存在上面所述的基于连接的负载均衡方法的缺点
市面上的负载均衡厂商,既有基于连接的,也有基于批处理请求的,用户需仔细辨别才能找到自己想要的合适产品
我们知道,服务器是用来提供各类服务(如Web服务、数据库、办公系统)的专用计算机,服务器的性能及运行状态会直接影响服务的稳定性。不管你用的是云服务器还是托管的服务器,都需要定期对服务器进行维护,否则服务器总有一天会变得让你觉得“卡顿”。很多人觉得服务器的“卡顿”是因为服务器运行时间长了就会卡顿,其实这种想法还是很片面的,很多因素都会导致服务器的“卡顿”现象。
服务器硬件配置及老化程度会影响服务器运行速度及稳定性
服务器和我们家用电脑一样都是由软硬件来支撑的,如果硬件配置跟不上那服务器的性能自然提升不了。
1、检查服务器硬件配置
像Windows系统可在任务管理器中查看CPU及内存占用情况,而Linux系统可通过top命令或free、df等命令查看相关配置。
现在一般的Web站点服务器最低配置都是:CPU2核、内存2G、固态硬盘起步了,如果你的站点访问用户较多,那就要视情况升级你的服务器配置。
2、传统硬件服务器要让机房检查下硬件老化程度
现在云服务器可以不考虑硬件老化情况,但还有不少人在用传统的硬件服务器托管的,这就要看下你的服务器用了多少年了,是否存在硬件老化的情况。
检查服务器是否被人攻击
很多时候服务器的突然卡顿是因为服务器受到了攻击导致的,因为服务器是暴露在公网上的,如果不做一些防护很容易受到各种攻击。
服务器被人攻击最直观的表现有:
服务器内存及CPU占用一直居高不下;
服务器上行带宽被占满,一直对外发包;
系统里出现一些未知文件、程序、账户等。
那我们如何排查呢?这里网络圈给大家的建议是按以下步聚进行排查:
1、首先对服务器系统进行杀毒,如果是Windows系统,一定要安装杀毒软件
2、看下服务器各文件夹下是否有可疑文件及可疑程序
3、看下服务器是否有新增的用户账户,如果有,则要禁用此账户
4、CPU及内存是否占用过高
Windows通过任务管理器可以定位到CPU或内存占用过高的进程,Linux可以通过top、ps等命令定位到CPU或内存占用过高的进程。
进程定位到了之后,看下是否可疑,必要时把进程杀掉。
5、服务器上是否安装了Redis,如果安装了则要检查Redis外网是否可以访问,如果外网可以被访问很容易被人提权
6、检查是否存在可疑的定时任务及网络请求
检查服务代码逻辑
如果排除了被人攻击的情况,那就要检查一下你的服务程序代码是否存在问题了,比如:
1、是否有死循环
2、请求外部资源时是否没加超时限制
3、数据库是否存在慢查询等
服务器上的服务迁移
如果仅仅是因为当前服务器性能跟不上,那除了升级单机配置外还可以考虑将本服务器上的其它服务迁移到另外的服务器,以Web服务为例,我们的建议是:
站点及文件资源放在一台服务器上,用作Web服务器
数据库单独放一台服务器上
必要的CDN加速
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎在线咨询这篇实用文章介绍如何将pfSense 20配置成你那些Web服务器的负载均衡器。这篇实用文章假设你已经安装了一个pfSense设备和至少两台Apache服务器,并且运行在你的网络上;还假设你具备了pfSense方面的一些知识。要求
一台设备用于安装pfSense 20(如果这是你的边缘防火墙,我会建议物理机器)。
至少两台Apache2服务器(这些可以是虚拟服务器)。
对Apache服务器进行了配置,以便以某种方式同步Web文件(rsync/corosync或通过Web服务器维持文件版本最新的另一个选项)。
配置pfSense
pfSense使用负载均衡器,将某些类型的流量带来的负载分摊到多台服务器上;如果你有多台服务器用于托管运行应用程序,这很好;你可以将负载分摊到所有服务器上,而不是把负载全扔给一台服务器、导致不堪重负。
可以入手了,先点击“Services”(服务),然后点击“Load Balancers”(负载均衡器),然后点击“Monitor”(监视器)选项卡。
要添加一个新条目,点击“Plus”(添加)按钮,指定“Name”(名称)和“Description”(描述,在这个示例中,我会使用ApacheClusterMon作为名称和描述),将类型设成“>
首先来说,影响网页打开速度的因素有很多,大的方面可以划分为这两类:
访客原因:客户端网速慢导致打开多数网站都较慢,这种可能是用户的宽带小、下载影响了网速等;
网站自身原因:网站服务方的配置差导致访客打开网站慢。
客户端网速慢这个更多的是要看客户方如何处理了,我们这里不过多讨论,我们重点分析下作为网站服务方,我们该利用哪些措施来加快网站访问速度。
首先我们来看下影响站点访问速度的因素有哪些,我总结了以下几点:
1、服务器带宽
服务器带宽直接影响他人访问你网站时的速度,服务器带宽越大,资源加载速度也就越快。
2、页面资源大小
网站页面本身大小和其引用资源的大小也会影响其打开速度,比如说:一个页面只引用了一张,和一个页面引用了100张,自然是引用少的那个页面访问速度快。
3、动态脚本处理速度
静态页面一般响应是很快的,还有一类是动态页面,如:PHP、Java等,这类动态内容访问的速度更多的是取决于:动态页处理速度、数据库 *** 作速度。
4、服务器负载情况
如果服务器同一时间段内被很多人访问,那每个访客打开网站速度都快不起来,因为服务器的负载变得很高了,忙不过来。
以上整理的这些就是影响网站访问速度的常见因素,那我们可以针对性的对网站进行优化以提高加载速度,我的建议如下供大家参考:
1、前端页面优化
CSS放在head区,JS脚本放在/body之前;
一律要压缩,避免单张尺寸过大(有些网站一张图就有1M以上);
页面压缩,对于页面、JS、CSS都可以压缩,以节省带宽;
避免页面中引用不存在的资源,因为404请求也会阻塞资源加载的;
静态资源走CDN加速;
2、后端程序优化
能用NoSQL缓存的地方要用缓存来存放热点数据;
数据库开启慢查询日志,如果发现有慢查询,就要优化SQL,以加快查询速度;
动静分离;
综上,对于服务器带宽较小的网站服务方,最便捷的优化方法就是先走CDN加速,然后把静态资源做好优化即可。
服务器卡一般有几种原因,第一,服务器配置较低,那么是由于本身的原因,只有通过升级解决;第二,应用过多,服务器本来资源是有限的,如果应用过多也会造成卡顿现象,这种可以清理不必要的应用或者升级解决。第三,网络也可能引起卡顿。你可以去服务器厂商,国内的正睿、联想、曙光、浪潮,国外的戴尔、惠普等找找相关的技术文档参考一下就清楚了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)