پروفایل با کارایی بالا یاندکس منبع باز است

سلام! امروز ، ما سوراخ کننده منبع باز ، یک سیستم پروفایل مداوم که در Yandex از آن استفاده می کنیم تا عملکرد اکثر خدمات خود را تجزیه و تحلیل کنیم.

در مخزن جیتاب حاوی کد منبع و زیرساخت برای استقرار سوراخ کننده در یک خوشه Kubernetes است. همچنین می توانید سوراخ کننده را به صورت محلی به عنوان یک جایگزین ساده تر برای رکورد کمال اجرا کنید ، و پروفایل های دقیق تری را با سربار پایین ارائه دهید. کد منبع تحت MIT (با GPL برای برنامه های EBPF) مجوز دارد و در لینوکس x86-64 اجرا می شود.

با استفاده از سوراخ کننده و رویکردهای پروفایل قبلی ما، ما به طور مرتب به ده ها درصد از درصد بهبود عملکرد در بزرگترین خدمات Yandex مانند سیستم تحویل AD و جستجوی Yandex می رسیم. علاوه بر این ، سوراخ کننده شکاف مهمی را در پروفایل منبع باز پر می کند و بهینه سازی برنامه اتوماتیک ساده شده را از طریق بهینه سازی با هدایت مشخصات (PGO). آزمایشات ما نشان می دهد که PGO می تواند در سناریوهای متعدد ، بارهای کاری را تقریباً 10 ٪ سرعت بخشد.

در این مقاله ، ما:

  • تکنیک های پروفایل لینوکس را کاوش کنید.
  • در مورد چالش های پروفایل مؤثر بحث کنید.
  • نحوه کار سوراخ کردن را در زیر کاپوت تجزیه کنید.
  • نشان دهید که چگونه می توانید از پرکوراتور بیشترین بهره را ببرید.

چرا کد پروفایل

توسعه دهندگان اغلب باید بدانند که چرا برنامه های آنها کند است یا از منابع زیادی استفاده می کند. دلایل زیادی برای این امر وجود دارد ….

Source link