برنامه نویسی

برنامه شما خیلی کند است؟ چه کاری باید انجام دهید؟

در زندگی روزمره ما به عنوان مهندس نرم افزار ، سؤال در این عنوان ممکن است آشنا به نظر برسد. از آنجا که ما در تلاش هستیم تا ویژگی ها و محصولات بی شماری را در مهلت های تنگ ارائه دهیم ، گاهی اوقات چیزهایی را بهینه می کنیم که بر زمان بارگیری برنامه ما تأثیر می گذارد. بنابراین ، برای رسیدگی به این وضعیت چه کاری باید انجام دهیم؟

کمترین API را شناسایی کنید

ما می توانیم از ابزارهای مانیتورینگ استفاده کنیم تا به ما در شناسایی بیشترین دسترسی های API کمک کنیم. برخی از ابزارهای نظارت حتی می توانند ردیابی کنند که نمایش داده ها بیشترین کمک را در زمان پاسخ ما دارند. با استفاده از این داده ها می توانیم آنچه را که باعث می شود برنامه ما آهسته باشد ، تجزیه و تحلیل کنیم و موارد مورد نیاز برای حل اول را در اولویت قرار دهیم. ما باید API ها را با کمترین زمان پاسخ متوسط ​​بررسی کنیم و سپس هرگونه پرس و جو را که ممکن است به طور مکرر خوانده شود یا زمان پاسخ طولانی داشته باشد ، ردیابی کنیم.

نمایش داده شد

سعی کنید با بازسازی منطق پرس و جو یا بررسی اثربخشی شاخص ، زمان پاسخ پرس و جو را بهینه کنید. ما می توانیم این کار را با دویدن تجزیه و تحلیل کنیم EXPLAIN ANALYZE برای دیدن تفصیل دقیق در مورد چگونگی پردازش پایگاه داده پرس و جو ما. از EXPLAIN ANALYZE خروجی ، ما می توانیم ساختار پرس و جو خود را ، مانند ترتیب فیلتر ، پیوستن به منطق ، استفاده از شاخص و غیره را دوباره تعریف کنیم. pg_stat_user_tables وت pg_stat_user_indexesبشر اطلاعات بیشتر در مورد بهینه سازی پرس و جو در پست دیگری پوشش داده می شود!

منطق کسب و کار را بهینه کنید

سعی کنید هر منطقی را که به طور بالقوه باعث ایجاد مشکلات عملکرد می شود ، شناسایی کنید. مقصرین متداول شامل مشکل N+1 ، تماس های پرس و جو اضافی ، واکشی داده های بلااستفاده ، فراخوانی API های خارجی در حلقه ها ، استراتژی های ذخیره سازی ناکارآمد و فرآیندهای بزرگ همزمان است. توضیح بیشتر در مورد این موضوعات مشترک نیز در پست دیگری پوشش داده خواهد شد!

منطق سمت مشتری را بررسی کنید

بعضی اوقات ، ما قبل از شروع صفحه ، نیازی به واگذاری تمام داده ها نداریم. سعی کنید قبل از شروع صفحه نمایش ، کدام داده ها مورد نیاز است و کدام داده ها را می توان به صورت ناهمزمان پس از تعامل کاربر با محتوای اصلی بدست آورد. همچنین ، بهینه سازی های سمت مشتری وجود دارد که می تواند انجام شود ، اما من نمی توانم خیلی عمیقاً در این موضوع بررسی کنم زیرا من متخصص در کد سمت مشتری نیستم.

من معتقدم کارهای بسیار دیگری وجود دارد که می توانیم برای بهینه سازی برنامه خود که در این مقاله ذکر نشده است انجام دهیم. اما امیدوارم که برای برخی از ما مفید باشد. با تشکر از خواندن!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا