Profile Go with Pprof

Profile Go With Pprof



லினக்ஸ் இயக்க முறைமையில், GO திட்டத்தில் செயல்திறன் மற்றும் தர்க்க சிக்கல்களைக் கண்டறிய GO சுற்றுச்சூழல் அமைப்பு ஒரு பெரிய கருவிகள் மற்றும் SPIகளை வழங்குகிறது. கண்டறியும் தீர்வுகளில் ஒன்று GO விவரக்குறிப்பு. GO விவரக்குறிப்பின் செயல்பாடு, ஒரு GO நிரலை செலவு, நினைவக பயன்பாடு மற்றும் நிரலின் மிகவும் விலையுயர்ந்த பகுதியைக் கண்டறிய அடிக்கடி செயல்பாடு அழைப்புகள் ஆகியவற்றின் அடிப்படையில் பகுப்பாய்வு செய்வதாகும். GO விவரக்குறிப்பை சில நொடிகளில் செய்ய pprof தொகுப்பின் பயன்பாட்டை இந்தப் பக்கம் விளக்குகிறது. இங்கே, GO நிரலை விவரிப்பதற்கான pprof செயல்பாட்டை ஆராய்வோம். ஆரம்பித்துவிடுவோம்!

லினக்ஸில் Pprof தொகுப்பு என்றால் என்ன

லினக்ஸ் இயக்க முறைமையில் உள்ள pprof தொகுப்பு என்பது pprof காட்சிப்படுத்தல் கருவியின் உதவியுடன் இயக்க நேர விவரக்குறிப்பு தரவை தேவையான வடிவத்தில் எழுதப் பயன்படும் ஒரு சுயவிவரக் கருவியாகும். இது ஒரு HTTP சர்வர் வழியாக இயக்க நேர விவரக்குறிப்புத் தரவைச் செயல்படுத்துகிறது, மேலும் அதன் HTTP ஹேண்ட்லர்களைப் பதிவு செய்வதன் பக்க விளைவுகளுக்காக இது பெரும்பாலும் இறக்குமதி செய்யப்படுகிறது. pprof கட்டளையின் அனைத்து கைப்பிடி பாதைகளும் /debug/pprof/ உடன் ஒரு குறிப்பிட்ட கட்டளையுடன் தொடங்கும்.

உபுண்டு 22.04 கணினியில் GO விவரக்குறிப்புக்கான Pprof தொகுப்பை எவ்வாறு நிறுவுவது

பயணத்தில் விவரக்குறிப்புக்கான விரைவான நிறுவல் செயல்முறையை நீங்கள் தேடுகிறீர்கள், ஆனால் எல்லாம் சிக்கலானதாக இருந்தால், பின்வரும் செயல்முறையைப் பின்பற்றுவோம். உபுண்டு 22.04 கணினியில் pprof ஐ நிறுவ நீங்கள் சில படிகளைப் பின்பற்ற வேண்டும். இதோ அந்த படிகள்:







முதலில், pprof தொகுப்பு நிறுத்தப்படாமல் இருக்க அனைத்து சார்புகளையும் நிறுவ வேண்டும். முதலில், பின்வரும் கட்டளையுடன் Graphviz சார்புநிலையை நிறுவவும்:





ரூட் சிறப்புரிமையை வழங்க 'sudo' ஐப் பயன்படுத்துவதை உறுதிசெய்யவும். இல்லையெனில், எந்தவொரு தொகுப்பையும் நிறுவ கணினி உங்களை அனுமதிக்காது. பின்வரும் வெளியீட்டைப் பார்க்கவும்:







இப்போது, ​​கணினியில் pprof தொகுப்புக்கான சார்புகள் உள்ளன. இது pprof தொகுப்பை நிறுவ உங்களை அனுமதிக்கிறது. GitHub இலிருந்து pprof ஐப் பெற 'go get' கட்டளையைப் பயன்படுத்தவும். இங்கே கட்டளை உள்ளது:

உங்களிடம் 'go' கட்டளை முன்பே நிறுவப்படவில்லை என்றால், அதைப் பயன்படுத்துவதற்கு நீங்கள் குறிப்பாக நிறுவ வேண்டும். எங்கள் கணினியில் 'go' கட்டளை நிறுவப்படவில்லை, எனவே 'கட்டளை காணப்படவில்லை' முடிவைப் பெற்றோம். பின்வரும் வெளியீட்டைப் பார்க்கவும்:

முதலில் 'go' தொகுப்பை நிறுவி, GitHub இலிருந்து pprof தொகுப்பைப் பெற அதைப் பயன்படுத்தவும். முந்தைய ஸ்கிரீன்ஷாட்டில் நீங்கள் பார்ப்பது போல், 'go' தொகுப்பை நிறுவ மூன்று வெவ்வேறு விருப்பங்கள் உள்ளன, எனவே அவற்றில் ஏதேனும் ஒன்றை நாங்கள் பயன்படுத்தலாம். அனைத்தும் சற்று வித்தியாசமான அம்சங்களுடன் ஒரே முடிவைத் தருகின்றன. இருப்பினும், “go” தொகுப்பு பதிப்பான “2:1.18~0ubuntu2”ஐ நிறுவ “sudo apt install golang-go” கட்டளையைப் பயன்படுத்துகிறோம். பின்வரும் கட்டளையை இயக்கவும்:

இது 'go' தொகுப்பையும் அதன் அனைத்து சார்புகள் மற்றும் தொடர்புடைய நூலகங்களையும் நிறுவ அனுமதிக்கிறது. பின்வரும் வெளியீட்டைப் பார்க்கவும்:

இப்போது, ​​GitHub களஞ்சியத்திற்குச் சென்று pprof தொகுப்பை நிறுவவும். ஒரு pprof தொகுப்பு என்பது விவரக்குறிப்புத் தரவின் பகுப்பாய்வு மற்றும் காட்சிப்படுத்தலுக்குப் பயன்படுத்தப்படும் ஒரு கருவியாகும், ஆனால் இது அதிகாரப்பூர்வ google தயாரிப்பு அல்ல. அதனால்தான் நீங்கள் GitHub களஞ்சியத்தைப் பயன்படுத்தலாம் மற்றும் 'go' கட்டளையுடன் pprof தொகுப்பை கைமுறையாக நிறுவலாம். “go install github.com/google/ ஐத் தொடங்குவதற்கு முன், உங்கள் சிஸ்டம் முன்நிபந்தனைகளின் அனைத்துத் தேவைகளையும் பூர்த்திசெய்கிறதா என்பதை உறுதிசெய்யவும். [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ” கட்டளை. முன்நிபந்தனைகள், ஆதரிக்கப்படும் பதிப்பின் 'கோ' டெவலப்மெண்ட் கிட் மற்றும் சுயவிவரங்களின் கிராஃபிக் காட்சிப்படுத்தலை உருவாக்குவதற்கான கிராஃப்விஸ் பயன்பாடு ஆகும். Graphviz பயன்பாடு விருப்பமானது, எனவே நீங்கள் விரும்பினால் அதைத் தவிர்க்கலாம். நாங்கள் இரண்டையும் நிறுவி, pprof தொகுப்பிற்கான தளத்தை தயார் செய்ததால், எங்கள் கணினி அதை நிறுவ தயாராக உள்ளது. நிறுவல் செயல்முறையைத் தொடங்க GitHub களஞ்சியத்திற்கான அணுகலைப் பெறுவோம். பின்வரும் கட்டளையைப் பார்க்கவும்:

இந்த கட்டளை “github.com/google/ க்கு செல்கிறது. [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ' முகவரி. GitHub களஞ்சியத்திலிருந்து pprof தொகுப்புகளை நிறுவவும். பின்வரும் முடிவைப் பார்க்கவும்:

'go' கட்டளை தொகுப்பை பதிவிறக்கம் செய்தது மற்றும் அது Ubuntu 22.04 கணினியில் தொடர்ச்சியாக நிறுவப்பட்டது. பைனரி இயல்பாக $HOME/go/bin இடத்தில் நிறுவப்பட்டுள்ளது.

Pprof இன் கையேடு பக்கத்தைக் காட்டு

இப்போது, ​​pprof தொகுப்பின் விவரங்களைப் பெற pprof இன் கையேடு பக்கத்தைப் பார்க்கவும். கையேடு பக்கத்தில் pprof தொகுப்பிற்கான அனைத்து விருப்பங்களும் ஒவ்வொன்றின் சுருக்கமான விவரங்களும் உள்ளன. இது pprof இன் ஒவ்வொரு விருப்பத்தையும் தெரிந்துகொள்ளவும், அவற்றை உங்கள் குறியீடுகளில் எளிதாகப் பயன்படுத்தவும் அனுமதிக்கிறது. மேலும், உங்களுக்குத் தேவைப்படும் போதெல்லாம், நீங்கள் -help கொடியைப் பயன்படுத்தி கையேடு பக்கத்திற்குத் திரும்பலாம். நீங்கள் அதை எப்படி செய்யலாம் என்பது இங்கே:

இது உங்கள் டெர்மினலில் முழுமையான கையேடு பக்கத்தைக் காட்டுகிறது. பின்வருவனவற்றைப் பாருங்கள்:

நீங்கள் பார்க்க முடியும் என, pprof கட்டளைக்கு பல விருப்பங்கள் உள்ளன. தேவையான வடிவமைக்கப்பட்ட விவரக்குறிப்புத் தரவைப் பெற, அவற்றில் ஏதேனும் ஒன்றை நீங்கள் பயன்படுத்தலாம்.

தரவு விவரக்குறிப்புக்கு Pprof ஐப் பயன்படுத்தவும்

உங்கள் திட்டத்தில் pprof ஐப் பயன்படுத்த, முதலில் pprof தொகுப்பை இறக்குமதி செய்யவும். pprof தொகுப்பை இறக்குமதி செய்ய பின்வரும் கட்டளையைப் பயன்படுத்தவும்:

நீங்கள் இறக்குமதியைத் தொடங்குவதற்கு முன், பயன்பாடு ஏற்கனவே HTTP சேவையகத்தை இயக்குகிறது என்பதை உறுதிப்படுத்தவும். உங்களிடம் HTTP சர்வர் அப்ளிகேஷன் சர்வர் எதுவும் இயங்கவில்லை என்றால், இறக்குமதியில் “net/http” மற்றும் “log” ஐச் சேர்த்து, பின்வரும் குறியீட்டைச் சேர்ப்பதன் மூலம் ஒன்றைத் தொடங்க வேண்டும்:

இப்போது, ​​நீங்கள் pprof கட்டளையைப் பயன்படுத்தி குவியல் சுயவிவரத்தைப் பார்க்கலாம். http://localhost இன் குவியல் சுயவிவரத்தை சரிபார்க்க பின்வரும் கட்டளை பயன்படுத்தப்படுகிறது:

இது சுயவிவரத்தைத் தேடத் தொடங்குகிறது மற்றும் http சேவையகத்துடன் இணைக்க முயற்சிக்கிறது. பின்வரும் பதிலைப் பார்க்கவும்:

அதே நடைமுறையைப் பின்பற்றுவதன் மூலம், நீங்கள் 30-வினாடி CPU சுயவிவரம், ஒரு goroutine தடுக்கும் சுயவிவரம், சர்ச்சைக்குரிய mutexes வைத்திருப்பவர்கள் போன்றவற்றைப் பார்க்கலாம்.

முடிவுரை

இந்த கையேடு உபுண்டு 22.04 இயக்க முறைமையில் பயன்படுத்தப்படும் pprof கட்டளையின் விரைவான ஒத்திகை ஆகும். லினக்ஸ் அமைப்பில் pprof கட்டளை என்ன என்பதை ஆராய்ந்தோம். எங்கள் உபுண்டு 22.04 கணினியில் அதை எவ்வாறு நிறுவுவது என்பதை நாங்கள் கற்றுக்கொண்டோம். லினக்ஸ் ஆப்பரேட்டிங் சிஸ்டத்தில் உள்ள pprof தொகுப்புக்கான பல்வேறு விருப்பங்களைப் பற்றியும் அறிந்தோம். pprof தொகுப்பின் அடிப்படை செயல்பாடு, இயக்க நேர விவரக்குறிப்பு தரவுக்கான HTTP சேவையகம் வழியாக சேவை செய்வதாகும். இது 30 வினாடிகளில் GO ஐ சுயவிவரப்படுத்த உங்களை அனுமதிக்கிறது.