Топ 5 програмски јазици во Македонија

Член од
26 јануари 2009
Мислења
11.391
Поени од реакции
17.540
Друже не сум голем љубител на бенчмарковите затоа што во голема мера ми се ирелевантни за реален проект, на крај од денот ќе имаш ботлнек на I/O, и пак крајниот корисник нема ни да го види бенефитот, а да не навлегуваме во целиот дизајн на системот или во неоптимизиран код.

PHP не сум користел, и искрено не го следам воопшто, а со Fastify баш сега си играм и е ок, затоа и ти го дадов како споредба.

Плус за нас пајтонаште се е брзо ако споредиме со пајтон :D
Ако мислиш на overhead при комуникација со база, во Swoole тоа е решено со тоа што имаш цел pool од db конекции (in memory) кои не се затвораат него се реискористуваат на секој нов реквест.
 

Lester Freamon

A man of focus, commitment, sheer will...
Член од
14 јануари 2015
Мислења
14.973
Поени од реакции
33.049
Ако мислиш на overhead при комуникација со база, во Swoole тоа е решено со тоа што имаш цел pool од db конекции (in memory) кои не се затвораат него се реискористуваат на секој нов реквест.
Не само бројот на конекциите со база, комуникација со надворешни API, самата мрежа, на одредени проекти рамот.
Пример на проект што го работевме скоро имавме доста доцнење при повлекување слики/видеа од s3.
 
Член од
26 јануари 2009
Мислења
11.391
Поени од реакции
17.540
Комуникација со third-party api не е нешто што може да се контролира, ја зборев за прост случај, праќаш реквест и веднаш добиваш респонс назад. Во однос на слики и све остало хостирано на надворешен сервер it's a no brainer ако сакаш брзо рендерирање, ќе користиш CDN каде ќе земаш од кеш, наместо S3 или S3 ќе го користиш само за сториџ позади CDN от. Е сето тоа си кошта, овие порно сајтовите ако земаа од S3 имаше ем споро да биде ем ќе пропаднеа финансиски, си имаат своја мрежа од сервери низ цел свет, бар порнхаб има.
 

Lester Freamon

A man of focus, commitment, sheer will...
Член од
14 јануари 2015
Мислења
14.973
Поени од реакции
33.049
Комуникација со third-party api не е нешто што може да се контролира, ја зборев за прост случај, праќаш реквест и веднаш добиваш респонс назад. Во однос на слики и све остало хостирано на надворешен сервер it's a no brainer ако сакаш брзо рендерирање, ќе користиш CDN каде ќе земаш од кеш, наместо S3 или S3 ќе го користиш само за сториџ позади CDN от. Е сето тоа си кошта, овие порно сајтовите ако земаа од S3 имаше ем споро да биде ем ќе пропаднеа финансиски, си имаат своја мрежа од сервери низ цел свет, бар порнхаб има.
За сториџ беше и во овој случај.
 
Член од
26 јануари 2009
Мислења
11.391
Поени од реакции
17.540
Тогаш не би требало секој реквест да ти оди до S3, освен за сликите кои што уште не ти се кеширани.
 

Lester Freamon

A man of focus, commitment, sheer will...
Член од
14 јануари 2015
Мислења
14.973
Поени од реакции
33.049
Тогаш не би требало секој реквест да ти оди до S3, освен за сликите кои што уште не ти се кеширани.
Постпроцесирање им правиме, поминуваат низ SAM модел и FFMPEG скрипти. Мора да ги прочиташ цели и да ги вратиш процесираните назад, мора да се и чува оригиналот, и се што е output да запишеш назад во s3 и во база.
 
Член од
26 јануари 2009
Мислења
11.391
Поени од реакции
17.540
Постпроцесирање им правиме, поминуваат низ SAM модел и FFMPEG скрипти. Мора да ги прочиташ цели и да ги вратиш процесираните назад, мора да се и чува оригиналот, и се што е output да запишеш назад во s3 и во база.
Ахам, тогаш кеш не ти брка работа ако на секој реквест запишуваш, јас мислев за земање ти се. Друго решение ти е да не користиш S3, туку да ги хостирате на сопствен сервер и комуникацијата да се одвива преку алатки ко RabbitMQ или Kafka и да праќаш блоб од сликата евентуално до серверот, а да враќаш линк од сликата.

А дури и ако ги процесирате сликите, мора да чекаш респонс од S3 и база па да ја вратиш сликата? Зошто тие делови не се стават во Queue? Додека можеш да вратиш блоб после процесирање, а ќе имаш џобови во кју кои што ќе имаат за цел да комуницираат со с3 и со база. Е да постои ризик да иако ја вратиш сликата записот во база и аплоудот да фејлнат, али у саглам кјуинг системи имаш повеќе ритрајс на извршување на џобот, освен ако с3 не е рикнат или дб серверот не е рикнат.
 

Lester Freamon

A man of focus, commitment, sheer will...
Член од
14 јануари 2015
Мислења
14.973
Поени од реакции
33.049
Ахам, тогаш кеш не ти брка работа ако на секој реквест запишуваш, јас мислев за земање ти се. Друго решение ти е да не користиш S3, туку да ги хостирате на сопствен сервер и комуникацијата да се одвива преку алатки ко RabbitMQ или Kafka и да праќаш блоб од сликата евентуално до серверот, а да враќаш линк од сликата.

А дури и ако ги процесирате сликите, мора да чекаш респонс од S3 и база па да ја вратиш сликата? Зошто тие делови не се стават во Queue? Додека можеш да вратиш блоб после процесирање, а ќе имаш џобови во кју кои што ќе имаат за цел да комуницираат со с3 и со база. Е да постои ризик да иако ја вратиш сликата записот во база и аплоудот да фејлнат, али у саглам кјуинг системи имаш повеќе ритрајс на извршување на џобот, освен ако с3 не е рикнат или дб серверот не е рикнат.
Бидна веќе на друг сервер, првично беше на aws ама дигна доста пари, таму е само останата постгрес базата.
Во моментов е пак на рентани сервери, ама self managed. Со rsync имаме сетирано автоматски бекап кон backblaze, а примарните слики и видеа доаѓаат на тој сервер. Инаку django, celery, rabitmq е бекендот.

Станува збор за 4к видеа и тоа снимани со 360 камери, секое видео кога се процесира по фрејмови се конвертира во илјадници слики за да се пушти аи моделот, а константно има видеа кои се прикачуваат од теренските екипи и паралелно други се процесираат.
 

Kajgana Shop

На врв Bottom