DevLabs නමින් පවත්වාගෙන යන අපගේ අභ්යන්තර පාලක පුවරුව, ගනුදෙනුකරුවන් ලොග්‑ඉන් වීමෙන් පසු පළමු පිටුව ලෙස භාවිතා වේ. නමුත් අලුත්ම Sentry වාර්තා අනුව, එම පුවරුවට අවශ්ය දත්ත 15 ක් පෙන්වීමට 7.6 තත්පරක් ගත වෙමින් තිබුණි.
අපේ කණ්ඩායම Next.js 16, React 19, MongoDB/Mongoose යන තාක්ෂණ මත පදනම් වූ 34k කේත පේළි ගණනක පද්ධතියක් පවත්වාගෙන යයි. සාමාන්යයෙන් පුවරුවේ සංඛ්යාත්මක කාඩ් 4 ක්, ඩොනට් වට්ටම් 3 ක්, බාර් ග්රාෆ් 6 ක් සහ නවතම ඉන්වොයිස් 4 ක් පෙන්වයි. පරික්ෂණයකදී, දත්ත ගබඩා 4 ක් පමණ පමණක් තිබූ නිසා පිටුව මිනිත්තු කිහිපයකින් පමණ වේගවත් වූවාය. නමුත් ව්යාපාරික වශයෙන් සැබෑ ඉන්වොයිස් සිය ගණන වැඩි වීමත් සමඟ ප්රශ්නය පෙන්දුනා.
Sentry හි මුල් සම්බන්ධතා (integrations) MongoDB සහ Mongoose සඳහා සක්රිය නොවීම මෙය ඇති කරා. ඒ නිසා සර්වර් ඉල්ලීමක් එකම අඳුරු span එකක් ලෙස ලියා තිබුණි, දත්ත ප层ය පෙනෙන්නේ නැතිව. අපි @sentry/nextjs හි mongoIntegration() සහ mongooseIntegration() එක් කළ පසු, වොටර්ෆෝල් එක පැහැදිලි විය. එහිදී GET /dashboard ඉල්ලීම යටතේ විශාල db.query span එකක් පෙන්වා, ප්රධාන bottleneck එක හඳුනා ගන්න ලැබුණි.
එමෙන්ම Session Replay සක්රිය කිරීමේදී, පාරිභෝගික දත්ත රහස තහවුරු කිරීම අත්යවශ්ය බවත්, maskAllText: true සහ blockAllMedia: true සැකසීමෙන් ගෝලීය ආරක්ෂාව තහවුරු කරන ලදී.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම සිද්ධිය ශ්රී ලංකාවේ තාක්ෂණික පරිසරයට පහල වන්නේ පහත පරිදි:
- ඉගෙනුම් අවස්ථා: දේශීය සංවර්ධකයින්ට Sentry වැනි observability මෙවලම් සවිස්තරාත්මකව භාවිතා කරමින් ප්රතිචාරකාලය (latency) හඳුනා ගැනීමේ වැදගත්කම ඉගෙන ගැනීමට අවස්ථාව ලැබේ.
- ව්යාපාරික විශ්වාසය: වෙබ් යෙදුම් මන්දගාමී වීම ගනුදෙනුකරුවන්ගේ විශ්වාසය අඩුවීමට හේතු විය හැකිය. මෙවැනි බග් හඳුනා ගෙන නඩත්තු කිරීමෙන් සේවා ගුණාත්මකභාවය ඉහළ යයි.
- ප්රායෝගික කාර්යක්ෂමතාව: MongoDB, Mongoose, Next.js වැනි ප්රචලිත තාක්ෂණ සමඟ performance monitoring එකතු කිරීමේ පියවර ශ්රී ලංකා ආරම්භක සමාගම්ට සාර්ථකත්වය ලබා දේ.
අවසන් වශයෙන්, මෙම අත්දැකීමෙන් පෙනී යන්නේ, වැඩි දත්ත ප්රමාණයකට පසු පවා performance bottleneck එකක් වුවමනා නම්, observability මෙවලම් නිවැරදිව සකස් කිරීම අත්යවශ්ය බවයි. ඉදිරියේදී අපි මෙවැනි නිරීක්ෂණයන් මත පදනම්ව කේතය සුමට කර, පාරිභෝගික අත්දැකීම නව මට්ටමකට ගෙන යන්නෙමු.