درود
من حالت Full Tunnel رو اجرا کردم.
کار میکنه ولی سرعت بسیار پایین هست.
با کمک ChatGPT به این نتیجه رسیدیم که الگوریم و مدل پیاده سازی AppScript و باندل VPS باعث افت سرعت میشه
چند نکته خیلی مهم:
Apps Script برای throughput طراحی نشده
هر request داخل infrastructure گوگل execute میشه
body ها Base64 میشن
JSON encode/decode میشن
UrlFetchApp.fetch انجام میشه
دوباره Base64 میشه
دوباره به کلاینت برمیگرده
یعنی برای هر packet عملا چند لایه processing داری.
خودم بایک دامین پشت SSL کلا دفلیر و بدون کلاد فلیر تست کردم. با کلادفلیر که کار نکرد. با SSL خود VPS کار کرد. ولی سرعت خیلی پایینه
دکتر GPT میگه معماری باید تغییر کنه. مثلا اون قسمت Base64 حذف بشه. این قسمت Base64 تا 33 درصد سربار تولدی میکنه و فشار سنگینی روی پردازنده وارد میکنه.
GAS حذف بشه
الان سیستم polling-based است:
**Client
→ POST
→ GAS
→ VPS
VPS
→ response
→ GAS
→ Client**
مشکل اصلی فعلی، بیشترین bottleneck اینها هستند:
هر packet تبدیل میشود به:
JSON
Base64
HTTP request
هر بار:
UrlFetchApp.fetch()
اجرا میشود.
این realtime نیست.(repeat forever)
باید tunnel را از حالت packet-by-packet relay تبدیل کرد به large chunk multiplexing
با کمک این متد ها سرعت بهینه میشه روی حالت Full:
gzip
chunk packing
compact encoding
بزرگترین بهبود واقعی برای حالت Ful Tunnel
به جای HTTP POST per packet باید HTTP POST per stream chunk بشود.
therealaleph
درود
من حالت Full Tunnel رو اجرا کردم.
کار میکنه ولی سرعت بسیار پایین هست.
با کمک ChatGPT به این نتیجه رسیدیم که الگوریم و مدل پیاده سازی AppScript و باندل VPS باعث افت سرعت میشه
چند نکته خیلی مهم:
Apps Script برای throughput طراحی نشده
هر request داخل infrastructure گوگل execute میشه
body ها Base64 میشن
JSON encode/decode میشن
UrlFetchApp.fetch انجام میشه
دوباره Base64 میشه
دوباره به کلاینت برمیگرده
یعنی برای هر packet عملا چند لایه processing داری.
خودم بایک دامین پشت SSL کلا دفلیر و بدون کلاد فلیر تست کردم. با کلادفلیر که کار نکرد. با SSL خود VPS کار کرد. ولی سرعت خیلی پایینه
دکتر GPT میگه معماری باید تغییر کنه. مثلا اون قسمت Base64 حذف بشه. این قسمت Base64 تا 33 درصد سربار تولدی میکنه و فشار سنگینی روی پردازنده وارد میکنه.
GAS حذف بشه
الان سیستم polling-based است:
**Client
→ POST
→ GAS
→ VPS
VPS
→ response
→ GAS
→ Client**
مشکل اصلی فعلی، بیشترین bottleneck اینها هستند:
هر packet تبدیل میشود به:
JSON
Base64
HTTP request
هر بار:
UrlFetchApp.fetch()
اجرا میشود.
این realtime نیست.(repeat forever)
باید tunnel را از حالت packet-by-packet relay تبدیل کرد به large chunk multiplexing
با کمک این متد ها سرعت بهینه میشه روی حالت Full:
gzip
chunk packing
compact encoding
بزرگترین بهبود واقعی برای حالت Ful Tunnel
به جای HTTP POST per packet باید HTTP POST per stream chunk بشود.
therealaleph