ఒక Node.js బెంచ్‌మార్క్ ప్రకారం, ఫైల్ పరిమాణాన్ని బట్టి ఐదు ప్రముఖ video-API సేవలు పనితీరులో గణనీయమైన తేడాలను చూపుతున్నాయి. 10 Mbps వేగం ఉన్న 4G కనెక్షన్‌లో, పెద్ద ఫైల్ టెస్ట్‌లో FastPix అగ్రస్థానంలో నిలిచింది, అయితే చిన్న క్లిప్‌ల విషయంలో Cloudinary వేగంగా దూసుకుపోయింది.

ఈ పరీక్ష ఎందుకు ముఖ్యం

Video-API ప్రొవైడర్లు తమ మార్కెటింగ్ పేజీలలో నిరంతరం "అత్యంత వేగవంతమైన అప్‌లోడ్" లేదా "తక్షణ ప్లేబ్యాక్" అని ప్రచారం చేస్తూ ఉంటారు. ఆ వాదనలు సాధారణంగా ప్రతి ప్రొవైడర్‌కు అనుకూలంగా ఉండేలా ఎంపిక చేసిన టెస్ట్ ఫైల్‌లపై ఆధారపడి ఉంటాయి. ఒక ప్రొడక్ట్ టీమ్ కేవలం ఇటువంటి హెడ్‌లైన్స్‌ను బట్టి వెండర్ నిర్ణయం తీసుకుంటే, ప్రకటనలలో చెప్పబడిన మరియు వాస్తవ ప్రపంచ లాటెన్సీ (latency) మధ్య తేడా వచ్చే ప్రమాదం ఉంది, ముఖ్యంగా వారి వినియోగదారులు వేర్వేరు పరిమాణం లేదా నెట్‌వర్క్ నాణ్యత కలిగిన కంటెంట్‌ను అప్‌లోడ్ చేస్తున్నప్పుడు.

ఈ బెంచ్‌మార్క్ ఎలా రూపొందించబడింది

రచయిత ప్రతి అప్‌లోడ్‌కు రెండు కొలమానాలను (metrics) కొలిచేలా Node.jsలో ఒక సాధారణ హార్నెస్ (harness) రాశారు:

  • Upload time – ముడి బైట్‌లను (raw bytes) APIకి పంపడానికి పట్టే సెకన్లు.
  • Time-to-ready – అప్‌లోడ్ ప్రారంభమైనప్పటి నుండి వీడియో స్ట్రీమ్ చేయగలిగే స్థితికి (అంటే, API ఆ అసెట్‌ను ప్లే చేయదగినదిగా రిపోర్ట్ చేసే వరకు) పట్టే సమయం.

ఐదు సేవలు ఒకే స్క్రిప్ట్ ద్వారా పరీక్షించబడ్డాయి: FastPix, Mux, api.video, Cloudinary, మరియు Gumlet. సాధారణ మొబైల్ 4G అనుభవాన్ని అనుకరించడానికి, నెట్‌వర్క్ వేగాన్ని 10 Mbpsకి పరిమితం చేసి, అన్ని పరీక్షలను ఒకే మెషీన్ నుండి నిర్వహించారు. రెండు ప్రాతినిధ్య ఫైల్‌లను ఉపయోగించారు:

  • Large file: 177 MB, ఇది లాంగ్-ఫార్మ్ కంటెంట్ లేదా హై-రిజల్యూషన్ కెమెరా మాస్టర్‌లకు సమానమైనది.
  • Small file: 65 MB, ఇది చిన్న క్లిప్‌లు లేదా సోషల్ మీడియా స్నిప్పెట్‌లకు సాధారణమైనది.

ఈ హార్నెస్ అప్‌లోడ్‌ను ఆటోమేట్ చేసింది, ఆపై వీడియో “ready” స్థితికి చేరుకునే వరకు ప్రతి ప్రొవైడర్ యొక్క స్టేటస్ ఎండ్‌పాయింట్‌ను (status endpoint) తనిఖీ చేస్తూ, రెండు టైమ్‌స్టాంప్‌లను రికార్డ్ చేసింది.

గణాంకాలు ఏమి చెబుతున్నాయి

Large file (177 MB)

  • FastPix అత్యల్ప అప్‌లోడ్ సమయాన్ని మరియు అత్యంత వేగవంతమైన 'time-to-ready'ని నమోదు చేసింది, దీనివల్ల బల్క్ ట్రాన్స్‌ఫర్‌ల కోసం ఇది స్పష్టమైన లీడర్‌గా నిలిచింది.
  • Mux అత్యంత వేగవంతమైన 'cold-startup'ను అందించింది, అంటే వీడియో 'ready' అని గుర్తించబడిన వెంటనే మొదటి ఫ్రేమ్ త్వరగా కనిపించింది.

Small file (65 MB)

  • Cloudinary కేవలం 2 సెకన్లలో క్లిప్‌ను ప్రాసెస్ చేసింది, మిగిలిన అన్ని సేవలను అధిగమించింది.
  • FastPix ఐదవ స్థానానికి పడిపోయింది.

వీడియో APIని ఎంచుకోవడంలో తీసుకోవలసిన జాగ్రత్తలు

  • Long-form లేదా high-resolution అప్‌లోడ్‌లు – ముడి త్రూపుట్ (raw throughput) మరియు ఇంజెస్ట్ స్పీడ్ (ingest speed)లో మెరుగ్గా ఉండే సేవలకు ప్రాధాన్యత ఇవ్వండి. ఈ పరీక్షలో, FastPix సురక్షితమైన ఎంపిక.
  • చిన్న, ఆన్-డిమాండ్ క్లిప్‌లు – 'cold-startup' లాటెన్సీని తగ్గించే APIలను ఎంచుకోండి. Cloudinary యొక్క 2-సెకన్ల టర్న్అరౌండ్, అది ఇన్‌స్టంట్-ప్లేబ్యాక్ సినారియోలకు సరిపోతుందని సూచిస్తుంది.

కేవలం గణాంకాలను మాత్రమే కాకుండా, టీమ్‌లు ధరల స్థాయిలు (pricing tiers), భౌగోళిక CDN కవరేజ్, మరియు ట్రాన్స్‌కోడింగ్ ఆప్షన్లు లేదా DRM వంటి ఫీచర్లను కూడా పరిగణనలోకి తీసుకోవాలి. ఒక ప్రొవైడర్ యొక్క లీడర్‌బోర్డ్ త్వరిత తనిఖీకి సహాయపడవచ్చు, కానీ అది మీ పనితీరుకు (workload) సంబంధించిన ప్రత్యేక పరీక్షకు ప్రత్యామ్నాయం కాకూడదు.

మీ స్వంత పరీక్షను నిర్వహించడం ఎలా

  1. ఫ్లోను స్క్రిప్ట్ చేయండి – ఫైల్‌ను అప్‌లోడ్ చేయడానికి మరియు “ready” ఫ్లాగ్ కనిపించే వరకు స్టేటస్ ఎండ్‌పాయింట్‌ను తనిఖీ చేయడానికి మీకు నమ్మకమైన భాషను (Node.js, Python, మొదలైనవి) ఉపయోగించండి.
  2. పరిసరాలను నియంత్రించండి – వైవిధ్యతను (variability) తొలగించడానికి ప్రతి ప్రొవైడర్ పరీక్షను ఒకే మెషీన్ మరియు నెట్‌వర్క్ నుండి నిర్వహించండి.
  3. బ్యాండ్‌విడ్త్‌ను పరిమితం చేయండి (Throttle) – మీరు ఆశించే అత్యంత నెమ్మదైన యూజర్ సెగ్మెంట్‌ను ప్రతిబింబించేలా కనెక్షన్‌ను పరిమితం చేయండి (ఉదాహరణకు, 4G కోసం 10 Mbps).
  4. నిజమైన అసెట్‌లను ఉపయోగించండి – సాధారణ టెస్ట్ క్లిప్‌లకు బదులుగా మీ ప్రొడక్ట్ యొక్క సాధారణ అప్‌లోడ్‌లను ప్రతిబింబించే ఫుటేజీని ఉపయోగించండి; కోడెక్ (codec), రిజల్యూషన్ మరియు బిట్‌రేట్ ఇంజెస్ట్ పైప్‌లైన్‌లపై ప్రభావం చూపవచ్చు.

నిజంగా ప్రాముఖ్యత కలిగిన ఏకైక బెంచ్‌మార్క్ మీ స్వంత ట్రాఫిక్ నమూనాలు మరియు నాణ్యత అంచనాలను ప్రతిబింబించేది మాత్రమే.

తదుపరి ఏం గమనించాలి

వీడియో APIలు అభివృద్ధి చెందుతున్న కొద్దీ, అవి కొత్త ఇంజెస్ట్ పాత్‌వేలు (ingest pathways), ఎడ్జ్ క్యాషింగ్ లేయర్‌లు (edge caching layers) మరియు AI-ఆధారిత ట్రాన్స్‌కోడింగ్‌ను ప్రవేశపెడుతున్నాయి. మీ CI పైప్‌లైన్‌లో ఆటోమేటెడ్ బెంచ్‌మార్క్‌ను ఉంచుకోవడం వల్ల, సమస్యలు వినియోగదారులపై ప్రభావం చూపకముందే వాటిని గుర్తించవచ్చు. క్రింద లింక్ చేయబడిన విధంగా కమ్యూనిటీ షేర్ చేసిన ఫలితాలు, ఈ ఎకోసిస్టమ్ గురించి మరింత పారదర్శకమైన చిత్రాన్ని రూపొందించడంలో సహాయపడతాయి.

Source: https://dev.to/masonwritescode/benchmark-video-apis-yourself-upload-to-playable-measured-across-five-providers-3ap0