日常维护

在“应用引擎BAE-部署列表”页面选取目标部署并单击进入后,可对其进行如下日常维护:

  • 查看及管理执行单元:查看执行单元详情及在资源不足时添加新的执行单元
  • 发布设置: 绑定域名、添加项目成员及查看版本信息
  • 查看日志: 实时查看本地日志
  • 资源监控: 统计数据及设置资源预警

查看及管理执行单元

  1. 单击部署名,进入“执行单元详情”视图。

    创建部署时默认分配一个执行单元,开发者可根据需求动态调整执行单元个数,“执行单元详情”视图展示分配给特定部署的所有执行单元的编号、状态等,并可单击“操作”下的“重启”手动重启执行单元。

  2. 单击“执行单元详情”下的“管理执行单元”按钮,进入“管理执行单元”页面修改执行单元个数或套餐。

    注意:

    执行单元大于1的部署属于分布式部署。对于分布式部署,需要将Session、静态变量等信息存放到cache或数据库中。如需进行本地写操作(生成文件或上传文件),建议用BOS进行存储,否则数据在执行单元迁移或发布新版本过程中可能丢失。

    • 内存下限
      • nodejs-web/php-web/python-web: 128M
      • php-worker/python-worker/lighttpd-static: 64M
      • java-tomcat/java-jetty: 256M
    • 内存上限

      默认512MB,需要更大内存时,需在“配额管理”中提交申请。

    image

  3. 配置完成后,单击“确定”,进入“确定订单”页面。

    image

    单击“确定”,完成配置。

    image

发布设置

单击目标部署名,选择“发布设置”对发布上线进行设置:

  • 域名绑定:
    BAE支持绑定15个自定义域名,暂不支持中文域名。开发者须对域名进行备案,24小时后BAE会获取到备案信息,开发者设置CNAME指向BAE后即可进行域名绑定
  • 添加项目成员:
    只允许添加个人账户为项目组成员,暂不支持企业账户。添加成功后,项目组成员拥有代码管理(包括代码拉取、代码提交以及发布上线)的权限,具体操作请参看添加项目成员
  • 自动发布:
    代码上传后自动对外发布,关于自动发布功能的详细介绍请参见自动发布
  • 当前线上版本及代码库最新版本:
    当前线上版本指当前环境中运行的代码;代码库最新版本是SVN/Git库中的代码。当遇到“部署列表”页面的“快捷发布”无法使用或发布失败,且代码库最新版本高于当前线上版本时,可单击“发布设置”页面的“发布”按钮发布代码库最新版本。

查看日志

单击目标部署名,选择“查看日志”以查看本地日志:

本地日志实时反映系统当前状态,与执行单元绑定,在执行单元回收时会被全部清空,主要用于调试。

image

  • 日志文件类型

    • 系统日志

      以php-web部署类型为例,支持下述系统日志:

      • error.log:lighttpd执行错误日志
      • access.log:lighttpd访问日志
      • phperror.log:PHP脚本错误日志
      • slowlog.log:PHP慢请求日志

        注意:
        单个web请求最大执行时间为30s,超过30s的请求会被kill并将其记录到slowlog中。

      • appconf.log:应用部署异常及错误日志

    • 用户日志

      使用任意后缀名将日志文件存入日志目录“/home/bae/log”后,即可使用特定编程语言提供的日志模块进行日志打印。例如,将用户日志:example.log.1和example.log.2存入/home/bae/log并先后进行了修改,则查询user.log,BAE按时间戳显示最后被修改的日志,即默认显示下述命令的输出:

      # 按时间戳显示最后被修改的日志
      $ tail /home/bae/log/example.log.2
      
  • 命名规范

    必须符合正则表达式:"\^(.?).log.?[\^.](.*)\$",第2个分组为数字或空;例如access.log,error.log.2014112811,
    debug.log.modelA.20141128,符合开发者按时间或大小对日志进行切分的习惯,同时便于BAE将分组内容相同的日志文件归为一组展示给用户。例如,/home/bae/log目录下有access.log.1,
    access.log.2,页面上只显示access.log。

资源监控

单击目标部署名,选择“资源监控”对部署的运行及负载情况进行数据统计和资源预警设置。

统计信息

image

在“统计信息”视图内,开发者可通过图表查询到最近60分、最近24小时的监控数据,包括:

  • 内存使用量

    每个执行单元正在使用的物理内存量是RSS与Cache之和。如果执行单元程序正在从磁盘读取数据,系统会先将数据载入到内存cache供程序读取,这部分数据将保留在内存中以供后续快速访问。当有数据要写入磁盘时,先写入cache,系统再根据一定的算法写入磁盘。如果内存充足,系统会尽可能地将数据保留在cache中。目前每个执行单元的该限制值为256M。

    注意: 这种策略可能会导致小程序占据过高内存,但这部分内存可被系统快速回收,所以开发者可忽略由此引发的内存占用。

  • 磁盘IO使用

    统计磁盘使用量,目前每个执行单元的限制值为2G。

  • CPU使用率

    运行的程序占用的CPU资源。

HTTP

在“HTTP”视图内,开发者可通过图表查询到最近60分钟、最近24小时的HTTP请求相关数据,包括:

  • 请求数: 统计间隔时间内目标部署的请求数。
    • 最近60分钟:每个点代表1分钟间隔内的请求数;
    • 最近24小时:每个点代表15分钟间隔内的请求数。
  • 流出流量: 统计间隔内目标部署的流出流量(KB),间隔时间同上。
  • 平均每秒请求数QPS (Queries Per Second): 图表中一个点的值代表最近5s的请求数的平均值。
  • 平均响应时间: 最近5s的请求数平均耗时。

设置预警

  • 自定义监控

    规定监控路径为{domain}/baecheck,用户的自定义监控逻辑都重定向到该路径。例如
    baetest.duapp.com/baecheck,一旦开启自定义监控服务,bae会定时向该路径发GET请求。如果响应返回200状态码,认为该部署正常;否则,认为用户自定义监控出现问题,会发送报警信息到用户指定的邮箱。如果超过15秒没有响应返回,认为监控出现问题,会发送报警信息到用户指定的邮箱。如果超过15秒没有响应返回,认为监控出现问题,会发送报警信息到用户指定的邮箱。

    注意: BAE定时发送的请求均为GET请求,暂不支持其他请求方式。

  • 添加接收邮件

    添加接收邮件后,开发者可在在预警“开启状态”(默认处于开启状态,可手动关闭预警)接收到预警邮件。每天最多接收5封预警邮件。

休眠部署

用户可以执行“休眠”操作关闭暂时不需要使用的BAE部署,执行BAE休眠操作应注意以下情况:

  1. 休眠后,执行单元停止计费,扩展服务(Log、Port等)的计费不受影响。
  2. 每次休眠最长时间为3个月,超过3个月部署将会被自动清理。

具体操作步骤如下。

  1. 进入“应用引擎BAE”,勾选需要休眠的BAE部署,点击“休眠”。

  2. 查看BAE部署的状态,此时状态显示“休眠”,表示操作成功。

对于被休眠的BAE部署,用户可以点击“开启”重新启动BAE部署。