redis读写瓶颈

redis读写瓶颈,第1张

从你这个描述来看,写性能确实不太正常。

我有一种方法可以用来看一下你这50000条数据是不是超过了默认的maxmemory值:

统计一下10000条数据大约占的内存值,估计5W条记录的大约内存值,然后再看一下你的VM是否开启。这样做是因为超过了指定的内存同时没开启vm时,有可能会导致进程挂掉。

你既然使用了默认配置,你还可以看一下日志里是不是会有崩溃记录。也可以根据记录找一下其他的原因。

你用的是hash结构的话,可以调整一下hash-zipmap-max-entries这个参数。一般这个参数在1000的时候性能是比较高的。超过1000以后CPU就上来了。默认是512.

所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到

返回的值或消息后才往下执行其它的命令。

异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回

值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。

同步在一定程度上可以看做是单线程,这个线程请求一个方法后就待这个方法给他回复,否则他不往下执行(死心眼)。

异步在一定程度上可以看做是多线程的(废话,一个线程怎么叫异步),请求一个方法后,就不管了,继续执行其他的方法。

网站优化一般从这几个方面考虑:

第一:最简单暴力的方式是升级服务器配置,升级cup,内存,硬盘,网络带宽,这是最简单直接的方式;但比较花钱。

那么这几样要素是怎样影响网站响应速度的呢?硬盘有个读写效率问题,如果你的网站需要读取存储在服务器上的文件等东西,那么这个磁盘io就会影响效率;内存又是如何影响的呢?内存和硬盘的影响比较类似,但内存存储的是较为及时数据,和程序联系更为紧密一点,存储处理效率

在很大因素上能直接受到影响。最后就是网络带宽了,当网络带宽较低,数据传输的效率就会被限制,即使你的服务器各方面配置很ok,那也是没办法的,就如同被限制了高消费的富豪一样,你有限范围内有钱花不出去。。

第二:分析具体瓶颈,对应解决。

如果网站用户规模较大,响应频繁,这个时候就要考虑网站本身研发的质量如何?优化相关代码,如将页面静态化,减少页面和服务端响应次数,减少服务端接口响应的数据量,去除代码中低端耗时的部分,减少数据库操作,优化sql执行效率,前后端分离等等,手段非常多;这些都是在代码层面进行优化。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/723823.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-09
下一篇2023-08-09

发表评论

登录后才能评论

评论列表(0条)

    保存