【问题标题】:Web socket on Google Cloud Platform - Network bandwidth is so highGoogle Cloud Platform 上的 Web 套接字 - 网络带宽如此之高
【发布时间】:2020-11-11 06:55:43
【问题描述】:

我使用socket.io NodeJS 开发了一个 Web 套接字应用程序,并将其部署在 Google Compute Engine 中。此应用程序始终在同一时间段为 300 多个用户提供服务。

我在这里面临的唯一问题是网络带宽成本,它确实比平时高得多,但我需要帮助改进源代码或适当的实现技术,以帮助我降低网络带宽成本.

如果有人遇到类似情况,我非常感谢您的支持。

请参考我的源码部分。

const express = require('express');
const bodyParser = require("body-parser");
const path = require('path');
const fs = require('fs');
const app = express()
const http = require('http').Server(app)
const moment = require('moment')
const multer = require('multer')
const apkParser = require('node-apk-parser')
const io = require('socket.io')(http)

const expressStatusMonitor = require('express-status-monitor')
app.use(expressStatusMonitor({ websocket: io, port: app.get('port') }))

const session_handler = require('io-session-handler').from(io, { timeout: 0 })

http.listen(PORT, () => console.log(`Server is running at 0.0.0.0:3001`))

以下是我从 GCP 获得的 11 天试用费用报告。您可以在此处看到网络成本为“来自爱荷华州的 Compute Engine Network Internet Standard Tier Egress:124.494 Gibibytes”

11 天内 124.494 GB,只需 10.58 美元

使用过的库

https://www.npmjs.com/package/socket.io
https://www.npmjs.com/package/io-session-handler

【问题讨论】:

  • 您没有提供任何关于正在消费什么以及由谁消费的数据。查看日志文件以查看谁在做什么。

标签: google-cloud-platform websocket socket.io google-compute-engine


【解决方案1】:

优化您的出口费用需要分析费用的数量和方向。

开始使用VPC flow logs,它会给你一些信息,你可以分析VM网络日志给你更多信息。

这是一篇关于how to utilise VPC Flow Logs 的内容非常丰富的文章。

您还可以找到gcp networking best pracices 有用的信息。

另外 - 通过GCP network pricing 可能会给您一些关于如何“引导”您的流量以产生更少成本的想法。

如果没有更多详细信息,试图给你一些指导,那纯属猜测,因为网络中的流量可能会因许多因素而有很大差异。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 2017-01-21
相关资源
最近更新 更多