TECH STASH – Telegram
TECH STASH
212 subscribers
115 photos
5 videos
15 files
254 links
اینجا هر چی رو که یاد میگیرم، به اشتراک میزارم...
هوش مصنوعی، لینوکس، اوپن سورس، برنامه نویسی و...

Admin: @D3F4U1T_ARS
Download Telegram
Forwarded from memealloc
GNU/Linux(news)
نحوه خاموش کردن COREهای CPU در لینوکس LINK YOUTUBE 🐧 @linuxforlife | لینوکس فور لایف
خودمم فکر نمیکردم که بشه کور های CPU رو خاموش کرد.

خیلی ویدیو جالبی بود.
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
دیروز سوال شد ازم که آیا fast api سریع هست؟
خب در مرحله ی اول که اسمش روشه . اسمش فسته . اگه کند بود اسمشو میزاشتن slow api :)

به نظر من این قضیه و شمارش ریکوئست هایی که هر فریمورک میتونه در ثانیه ریسپانس بده (req/sec) کار باطلی هست

بر فرض ما یه app رو تازه نوشتیم(به هر زبونی و فریمورکی فرقی نمیکنه) توی قدم اول رانش میکنیم!!! نمیریم استرس و لود تست ازش بگیریم که همون اول :/
بعد چندین سال صبر میکنیم تا یوزرای همزمان سایت زیادتر بشن!

بعد ازدیاد جمعیت اولین bottleneck ای که بر میخوریم اینه که اپ کند شده... خب ورکر هاشو زیاد میکنیم. توی پایتون گونیکورن این قضیه رو هندل میکنه
بعد یه مدت وقتی شلوغ تر شدیم میبینیم دیتابیس زیر فشاره. خب قبل اینکه توی این استیت باشید باید کوئری هاتون رو تا جای ممکن بهینه میکردید.
توی این مرحله ۲ تا سولوشن دارید! (دقت کنید که هنوز مهم نیست اپ رو با چی نوشتید:))
- کش کردن: بخشی از دیتای دیتابیس رو کش کنید حالا یا با قابلیتای خود دیتابیس یا ردیس ای چیزی بزارید وسط
- کلاستر کردن دیتابیس: میتونید دیتابیس رو ۳ تا اینستنس ازش بیارید بالا و یا slave و master بزارید و تمام read ها رو بفرسید سمت اسلیو

خب تا اینجا احتمالا بالای ۵۰۰ تا یوزر همزمان دارید! ادامه بدم؟
خب قدم بعد مجدد app کم میاره اگه نمیتونید ترد ها و ورکر هاشو بیشتر از این بالا ببرید ؛ اینجاست که بحث فریمورک ها رو مطرح ...
نه خب سخت در اشتباهید بیام سر قضیه فریمورک و زبان بحث کنم
وقتی شما ۱۰۰۰ تا یوزر همزمان دارید یعنی پولتون از پارو بالا میره
برید ۳ تا سرور دیگه بخرید و بکندتون رو روی اونا هم ران کنید(همزمان ۳ جا) بعد از جایی که خریدید بگید یه نتورک داخلی بین این ۴ سرورتون بزاره .‌ روی سرور ۴ ام haproxy یا nginx بزنید که ترافیک ورودی رو پخش کنه بین این ۳ تا سرور ... ایزی


در راستای این پست ، یکی میگفت: اونایی که وسط حرفاشون کلمات انگلیسی استفاده میکنن خیلی کنسل هستن :))))
Forwarded from Currently Nothing (Sohrab)
اطلاعیه بردیا عزیز در خصوص مخازن بردیاتک:

سلام بر همه دوستان و کاربران ارچ

شاید یادتون باشه و از مخزن archlinuxir استفاده کرده باشین, متاسفانه با این وضعیت اینترنت و شبکه و فیلترینگ نگهداری از این مخزن کار غیر ممکنی شده.
هشت ماه گذشته با این وضعیت به زور مبارزه کردم تا بسته هارو اپدیت نگه دارم ولی الان یک بیلد تا 30 ساعت طول میکشه که باعث مشکل شده خوده کانیتر ارچ هم چندین بار کرش خورده.
مجبورم این مخزن رو کاملا پاک کنم کاری هم واقعا از دستم بر نمیاد.

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

اروم دارن کاملا همه سرور های منو از دستم میگیرن. حدود دو سال خدمت کردیم و مخازن رو اپدیت نگه داشتیم ولی دیگه کار داره از کنترل من خارج میشه (سورپرایز نشید اگر یک روز بیدار شدید و کل سرویس از بین رفته بود)

اگر سیستمی دارید پیشنهاد میکنم قبل از این اتفاق به مخازن دیگه سویچ کنید.

#news
👨‍💻 @sbstuff
Forwarded from Currently Nothing (Sohrab)
Currently Nothing
اطلاعیه بردیا عزیز در خصوص مخازن بردیاتک: سلام بر همه دوستان و کاربران ارچ شاید یادتون باشه و از مخزن archlinuxir استفاده کرده باشین, متاسفانه با این وضعیت اینترنت و شبکه و فیلترینگ نگهداری از این مخزن کار غیر ممکنی شده. هشت ماه گذشته با این وضعیت به زور…
ما روی توزیع پارچ هم از مخازن بردیاتک استفاده میکردیم.

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

https://db-engines.com/en/ranking
TECH STASH
رنکینگ دیتابیس های SQL بر اساس استفاده مرتب شده https://db-engines.com/en/ranking
جالبه MySQL تو رتبه دومه
ظاهرا به خاطر سادگیش تو این رتبه قرار داره
اگر دنبال این میگردید که چقدر مموری داخل برنامه پایتون اتون مصرف میشه نگاهی به memray بندازید.

یه برنامه عه واسه profile کردن مموری.
یه فایل html اکسپورت میکنه که حاوی اطلاعات از مموری مصرف شده در هر لحظه از برنامه هست

https://github.com/bloomberg/memray
پروفایلر های دیگه هم داریم
یکی دیگه از خفناش هم scalene هست که GPU, CPU و مموری رو پروفایل میکنه.

خیلی ابزار محبوبی هست و سرعت خیلی بالایی داره

https://github.com/plasma-umass/scalene
معمولا وقتی که میخواید مموری پروفایل کنید باید ابزارتون سریع باشه که از سرعت برنامه کاسته نشه.


به همین دلیل سرعت هم اهمیت خیلی زیادی داره
البته توی memory خیلی چنین فاکتور مهم نیست ولی باز واسه برنامه هایی با memory footprint سنگین سرعت خیلی پایین میاد و زمان بیشتری از شما میگیره
جدا از دو پروفایلر بالا خود پایتون هم یه پروفایلر داره به اسم cProfile که یه نوع CPU پروفایلره

اونم سریع هست (نه به سرعت scalene اما نزدیک)
چند وقت پیش با telethon سر و کله زده بودم.

کلا type hinting داخلش داغون بود.
فایل های pyi نداشت واسه اینکه mypy بتونه بررسی کنه.

اما وقتی که فهمیدم فایل های pyi رو ساده میشه ساخت و اینکه type hinting رو میشه اصلاح کرد. کلا نظرم راجب مشکلات داینامیک بودن پایتون عوض شد.

حتی میشه با docstring هم اصلاح کرد تایپ هارو.
Forwarded from memealloc