首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx容器在将视频元数据发送到绑定卷后增加内存使用

Nginx容器在将视频元数据发送到绑定卷后增加内存使用
EN

Stack Overflow用户
提问于 2022-09-27 11:38:43
回答 1查看 105关注 0票数 2

我有一个带有码头容器的AWS服务器在那里运行,服务器包含很多mp4视频(几百GB),每一个视频都是30 MB

其中一项服务是一款允许一个接一个观看视频的React应用程序,但页面上的视频总数为5-20。

每次我打开页面时,没有看到过的视频,nginx容器将增加50-150MB的内存使用量,最终整个应用程序将被冻结。

App不适用于高负载(一次使用1-2个用户),所以我使用

代码语言:javascript
复制
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    resolver 127.0.0.11 ipv6=off;
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;

keepalive_timeout  65;

client_max_body_size 5M;

include /etc/nginx/conf.d/*.conf;` 

在nginx设置中。

此外,容器只是简单地绑定到目录与视频。

有趣的是,在重新启动容器内存之后,内存使用量将降至2-3 MB,如果我打开最近几天打开的页面,则不会上升。

因此,问题只能在包含非常古老的视频的旧页中重复使用。

在nginx容器中都是平静和良好的,进程和工作人员的内存使用量是最小的,所以我甚至不知道到底是谁在使用内存

有没有人想过在哪里挖掘来尝试修复这个不需要的“缓存”?

can代码很长,所以我不能在这里全部分享,但是通常它是一个组件的视频,所以在最小的组件中,它看起来是这样的:

代码语言:javascript
复制
   import React 'react';
    const EVideo = ({
                      props,
                    }) => {
      const onLoad = e => {// some logic to set initial playback rate}

  const onTimeUpdate = e => {//some logic to calculate video time into business logic time}

  return
  (<><video
    ref={videoRef}
    poster={props.poster}
    src={props.video_path}
    onLoadedMetadata={onLoad}
    onTimeUpdate={onTimeUpdate}
    playsInline
  />
    <div>Here business logic results will be shown</div>
  </>)
}
EN

回答 1

Stack Overflow用户

发布于 2022-10-04 11:49:50

这是由于您正在使用的浏览器的预加载行为而发生的。浏览器正在预取它尚未看到的视频。可以使用视频元素的preload属性控制浏览器的默认行为。

在视频元素中设置preload=none可以防止浏览器预取视频。阅读更多关于preload 这里的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73866946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档