当前位置: 首页 > news >正文

asp.net网站开发实例教程wordpress主题+清新

asp.net网站开发实例教程,wordpress主题+清新,高档网站设计,个人网页制作总结前言 如果Redis 没有执行大量的慢查询,同时也没有删除大量的过期的keys#xff0c;那么我们该怎么办呢#xff1f;那么我们是不是就应该关注影响性能的其他机制了#xff0c;也就是文件系统和操作系统了。 Redis 会把数据持久化到磁盘#xff0c;这个过程依赖文件系统来完…前言 如果Redis 没有执行大量的慢查询,同时也没有删除大量的过期的keys那么我们该怎么办呢那么我们是不是就应该关注影响性能的其他机制了也就是文件系统和操作系统了。 Redis 会把数据持久化到磁盘这个过程依赖文件系统来完成文件系统把数据写回磁盘的机制会直接影响到Redis 持久化效率。而且在持久化的过程中Redis 也还在接收其他请求持久化的效率高低又会影响到Redis 处理请求的性能。 Redis 是内存数据库内存操作非常频繁所以操作系统的内存机制会直接影响到Redis 的处理效率。比如说如果Redis 的内存不够用了操作系统会启动swap 机制这就拖慢了Redis。 下面我将从这两个方面讲解 Redis 持久化优化 首先我们要明白文件系统有两种系统调度是write 和 fsync 。这两种有什么区别 write: 只要把日志记录写到内核缓冲区就可以返回了并不需要等待日志实际写回到磁盘 fsync: 需要把日志记录写回到磁盘后才能返回时间较长。 在日志文件里关于aof 的配置项appendfsync 有 noeverysecalways。no 就是文件系统的write 调度文件系统周期性把日志写回磁盘。剩下的都是fsync 将日志写回磁盘everysec、always 不同的是 everysec 是由后台子线程完成fsync的操作always 使用主线程去操作 aof 日志避免日志文件增大会进行aof 重写缩小aof 日志文件aof 重写是子线程异步执行的。 如果aof 重写压力大会对磁盘进行大量IO操作fsync 需要等到数据落盘才能返回就会导致fsync 被阻塞。fsnyc 可能由子线程完成但是主线程会监控fsync 的执行速度。如果上一次fsync 还没有写完被主线程监控发现了主线程就会阻塞redis 会变慢了。 对于这个点的优化要根据业务考虑如果只是当缓冲用数据丢了可以从数据库获取那么 appendfsync 可以设置no, everysec 还有一个配置 no-appendfsync-on-rewrite yes 默认是no 如果 yes 就是表示aof 重写不进行fsync 操作也就是说Redis 实例把写命令写到内存后不调用后台线程进行 fsync 操作就可以直接返回了。当然如果此时实例发生宕机就会导致数据丢失。‘ 以上根据业务配置我们也可以升级硬件比如采用高速的固态硬盘作为aof 日志的写入设备。 操作系统的swap 什么是操作系统的swap 内存 swap 是操作系统里将内存数据在内存和磁盘间来回换入和换出的机制涉及到磁盘的读写所以一旦触发 swap无论是被换入数据的进程还是被换出数据的进程其性能都会受到慢速磁盘读写的影响。 Redis 高性能的原因就是数据直接写在内存里如果给Redis 的内存不足并且操作系统开启了swap。就会把一部分数据写到磁盘导致Redis性能下降数据的读写都是在主线程完成的此时主线程读写磁盘增加Redis 的响应时间。 这种情况一般是这样产生的 Redis 实例使用了大量的内存导致物理内存不足 Redis 实例和其他进行运行一台机器其他进行大量文件读写。文件读写本身消耗内存这会导致分配给 Redis 实例的内存量变少进而触发 Redis 发生 swap 这种情况增加内存或者用机器redis 实例服务器没有其他的外部进程除了系统内部的进程。 操作系统本身会在后台记录每个进程的 swap 使用情况可以用下列命令查看进程的swap使用情况 ./redis-cli info | grep process_id 查看redis 进程id cd /proc/5332. 进入 Redis 所在机器的 /proc 目录下的该进程目录中 cat smaps | egrep ^(Swap|Size) 查看该 Redis 进程的使用情况: $cat smaps | egrep ^(Swap|Size) Size: 54 kB Swap: 0 kB Size: 10 kB Swap: 10 kB Size: 4 kB Swap: 0 kB Size: 462044 kB Swap: 462008 kB 上面解释如下 每一行 Size 表示的是 Redis 实例所用的一块内存大小而 Size 下方的 Swap 和它相对应表示这块 Size 大小的内存区域有多少已经被换出到磁盘上了。如果这两个值相等就表示这块内存区域已经完全被换出到磁盘了。 发现 Swap 就需要增加机器内存。如果是集群需要增加集群实例。 大内存页的优化 Linux 内核从 2.6.38 开始支持内存大页机制该机制支持 2MB 大小的内存页分配而常规的内存页分配是按 4KB 的粒度来执行的。 很多人认为大内存页可以避免内存的分配次数。确实是这样的但是redis 有个cow 机制数据修改后会申请一块新的内存并对数据拷贝如果内存大的话需要拷贝大的内存。你可以看到当客户端请求修改或新写入数据较多时内存大页机制将导致大量的拷贝这就会影响 Redis 正常的访存操作最终导致性能变慢。 那么我们应该关闭内存大页机制 cat /sys/kernel/mm/transparent_hugepage/enabled 如果是always 就是启动了never 就是没有启动可以用下面去修改 echo never /sys/kernel/mm/transparent_hugepage/enabled 好了写到这里已经很多了这个需要不断总结需要对redis 进行监控 监控大量的key 是否集中过期 ./redis-cli info | grep expired_keys 数据很大报警 监控因为超过最大内存被淘汰的keys ./redis-cli info | grep evicted_keys 解决方案改变淘汰策略随机比较快还有集群扩容分担压力 ./redis-cli info | grep latest_fork_usec 监控这个值有可能RDB和AOF 重写期间实例占用内存大fork拷贝内存页表越久 解决方案实例小部署在物理机器上情况关闭aof合理配置repl-backlog和slave client-output-buffer-limit避免主从全量同步 bigkeys 的监控 redis-cli -h $host -p $port --bigkeys 扫描bigkeys 解决方案bigkeys 分片存储Redis 4.0可开启lazy-free机制 可以异步删除
http://www.hkea.cn/news/14459388/

相关文章:

  • 广州网站建设系统国外知名平面设计网站
  • 西安网站建设网站建设视频制作图片
  • 银行网站 设计方案网站建设捌金手指花总十四
  • 东莞专业网站制作设计wordpress+主题+引入js
  • 中国古建筑网站网页设计课程期末总结
  • 平安网站建设工作总结自建域名
  • 站长工具seo综合查询 正品蓝导航搭建个网站多少钱
  • 网站怎样优化seowordpress plugins权限
  • 三种常用的网站设计软件公司网站管理规定
  • 创建本地网站网站改版销售话术
  • 网站建设找业主签字模板企业邮箱查询
  • 谷歌seo网站建设泰安人才网app
  • 怎么建设一个淘宝客网站湖北建设执业注册管理中心网站
  • 一个具体网站的seo优化线上营销培训
  • flask做网站工具怎么在word添加wordpress
  • 网站建设目的意义软件开发工作
  • 网站平台设计费用西安市城乡建设管理局网站
  • 南昌网站建设在哪里wordpress运行php文件下载
  • 做网站php的作用社保代缴网站开发
  • 广东省网站备案系统宝安网站制作网站建设
  • 手机app制作网站丹东企业做网站
  • 自己如何免费制作一个网站网页怎么制作二维码
  • 网站建设行业数据我的网站模板下载
  • 怎么做网站排名天津站设计单位
  • 阿里巴巴国际站网页版刚做的网站怎么在百度上能搜到
  • 清苑网站建设郴州旅游
  • 网站建设微信商城多少钱苍南县网站集约化建设
  • 福州展示网站制作的公司合肥网站开发外包
  • 企业网站备案座机号wordpress acf 收费
  • 站长工具国产烟台网站制作培训