Skip to content

گزارش مشکلات و بهبود #1064

@studio-ag1

Description

@studio-ag1

سلام روز خوش
یکی از اعضای گروه تلگراممون که مهندس آی تیه اینارو گفت
لطفا بررسیش کنید.

حالت FUll رو تست کردم دوباره
در کل سرعتش خیلی پایین هست. با دکتر GPT مشاوره کردم گفت دلیل ش اینه که هر درخواست کلی منابع نیاز داره تا انجام بشه.
چند نکته خیلی مهم:

Apps Script برای throughput طراحی نشده
هر request داخل infrastructure گوگل execute میشه
body ها Base64 میشن
JSON encode/decode میشن
UrlFetchApp.fetch انجام میشه
دوباره Base64 میشه
دوباره به کلاینت برمیگرده

یعنی برای هر packet عملا چند لایه processing داری.
خودم با SSL پشت کلا دفلیر و بدون کلاد فلیر تست کردم. با کلادفلیر که کار نکرد. با SSL خود VPS هم کار میکنه. ولی باز سرعت پایینه
دکتر GPT میگه معماری باید تغییر کنه. یعنی اون قسمت Base64 مثلا حذف بشه، GAS را حذف کنی

الان سیستم  polling-based است:

Client
→ POST
→ GAS
→ VPS

VPS
→ response
→ GAS
→ Client

مشکل اصلی فعلی

بیشترین bottleneck این‌ها هستند:

هر packet تبدیل می‌شود به:

JSON
Base64
HTTP request

هر بار:

UrlFetchApp.fetch()

اجرا می‌شود.

این realtime نیست.(repeat forever)

باید tunnel را تبدیل کنی به:

large chunk multiplexing

نه packet-by-packet relay.

این باید توسط صاحب پروژه انجام بشه.
اون قسمت Base64 حدود 33 درصد overhead داره و روی کارایی خیلی تاثیر داره.

با کمک این متد ها سرعت بهینه میشه روی حالت Full:
gzip
chunk packing
compact encoding

بزرگ‌ترین بهبود واقعی

به جای:

HTTP POST per packet

باید:

HTTP POST per stream chunk

بشود.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions