𝗪𝗵𝗶𝗰𝗵 𝗠𝗮𝗴𝗲𝗻𝘁𝗼 𝗘𝘅𝘁𝗲𝗻𝘀𝗶𝗼𝗻 𝗜𝘀 𝗦𝗹𝗼𝘄𝗶𝗻𝗴 𝗬𝗼𝘂 𝗗𝗼𝘄𝗻?
ಊಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ.
ಅತಿಯಾದ extensions ಇರುವುದರಿಂದ ಸ್ಟೋರ್ ನಿಧಾನವಾಗುವುದು ಸಾಮಾನ್ಯ. ಹೆಚ್ಚಿನ ಜನರು ಸಮಸ್ಯೆಯನ್ನು ಕಂಡುಹಿಡಿಯಲು ಅವುಗಳನ್ನು ಒಂದೊಂದಾಗಿ ಡಿಸ್ೇಬಲ್ (disable) ಮಾಡುತ್ತಾರೆ. ಇದು ಡಿಬಗ್ಗಿಂಗ್ (debugging) ಅಲ್ಲ. ಇದು ಲೈವ್ ಸೈಟ್ನಲ್ಲಿ ಕೇವಲ ಊಹಿಸುವುದು ಮಾತ್ರ.
Magento 2 ಒಂದು extension ನ ವೆಚ್ಚವನ್ನು (cost) ಅಳೆಯಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ನೀವು ಈ ನಾಲ್ಕು ಕ್ಷೇತ್ರಗಳನ್ನು ಗಮನಿಸಬೇಕಾಗುತ್ತದೆ:
- Plugins: ಪ್ರತಿಯೊಂದು plugin ಕೂಡ ಒಂದು ರಿಕ್ವೆಸ್ಟ್ಗೆ (request) ಒಂದು ಪದರವನ್ನು ಸೇರಿಸುತ್ತದೆ. ವೇಗದ ಹಾದಿಯಲ್ಲಿ (fast paths) ಅನೇಕ plugins ಇರುವುದು ನಿಧಾನಗತಿಯ ರಿಕ್ವೆಸ್ಟ್ಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು.
- Observers: ಸಾಮಾನ್ಯ ಇವೆಂಟ್ನಲ್ಲಿರುವ (common event) ಒಂದು observer ಪ್ರತಿ ಪುಟದಲ್ಲೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
- Layout: Modules ಗಳು shared containers ಗಳಿಗೆ blocks ಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ. ಇವು ನಿಮಗೆ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
- Queries: ಪ್ರತಿ ಐಟಂಗೆ ಒಂದು ಹೆಚ್ಚುವರಿ ಲುಕ್ಅಪ್ (lookup) ಇದ್ದರೂ ಸಹ, ಒಂದೇ ಪುಟದಲ್ಲಿ ನೂರಾರು ಹೆಚ್ಚುವರಿ queries ಸೃಷ್ಟಿಯಾಗಬಹುದು.
ಊಹಿಸಬೇಡಿ. ಸತ್ಯವನ್ನು ತಿಳಿಯಲು ಬಿಲ್ಟ್-ಇನ್ ಪ್ರೊಫೈಲರ್ (built-in profiler) ಬಳಸಿ.
ಈ ಕಮಾಂಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ:
bin/magento dev:profiler:enable
ನಿಧಾನವಾಗಿ ಲೋಡ್ ಆಗುವ ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಿ. ಅತಿ ಹೆಚ್ಚು ಬಾರಿ ಕರೆಯಲಾದ methods ಗಳನ್ನು ಹುಡುಕಿ. ಒಂದು method 1,400 ಬಾರಿ ಕರೆಯಲ್ಪಟ್ಟಿದ್ದರೆ ಅದು ಸಮಸ್ಯೆಯಾಗಿದೆ.
ಉತ್ತಮ ಡೇಟಾಕ್ಕಾಗಿ, Blackfire, Xdebug, ಅಥವಾ New Relic ಬಳಸಿ. ಒಂದು vendor namespace ಎಷ್ಟು ಸಮಯವನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು Blackfire ನಿಖರವಾಗಿ ತೋರಿಸುತ್ತದೆ.
ನಿಮ್ಮ ಫೈಲ್ಗಳನ್ನು ಹುಡುಕುವ ಮೂಲಕ modules ಎಲ್ಲಿ hook ಆಗಿವೆ ಎಂಬುದನ್ನು ಸಹ ನೀವು ಕಂಡುಕೊಳ್ಳಬಹುದು:
Plugins ಹುಡುಕಲು:
grep -rl "<plugin" vendor/*/module-*/etc/ app/code/*/*/etc/
Observers ಹುಡುಕಲು:
grep -rl "<observer" vendor/*/module-*/etc/ app/code/*/*/etc/
ಸಂಶಯಾಸ್ಪದ module ಸಿಕ್ಕ ನಂತರ, ವೈಜ್ಞಾನಿಕ ವಿಧಾನವನ್ನು ಬಳಸಿ:
- Module ಸಕ್ರಿಯವಾಗಿದ್ದಾಗ ಪುಟದ ವೇಗವನ್ನು ಅಳೆಯಿರಿ.
- ಆ ನಿರ್ದಿಷ್ಟ module ಅನ್ನು ಡಿಸ್ೇಬಲ್ (disable) ಮಾಡಿ.
- ಮತ್ತೆ ಪುಟದ ವೇಗವನ್ನು ಅಳೆಯಿರಿ.
ಆ ವ್ಯತ್ಯಾಸವೇ ಆ module ನ ನಿಜವಾದ ವೆಚ್ಚ (cost).
ನಿಧಾನಗತಿಯ module ಸಿಕ್ಕಾಗ, ನಿಮ್ಮ ಮುಂದೆ ಮೂರು ಆಯ್ಕೆಗಳಿವೆ:
- Change the scope: Plugin ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಪ್ರದೇಶಗಳಿಗೆ ಸೀಮಿತಗೊಳಿಸಲು di.xml ಬಳಸಿ.
- Replace the logic: ಒಂದು ಭಾರವಾದ around plugin ಅನ್ನು ಬದಲಾಯಿಸಲು ನಿಮ್ಮದೇ ಆದ ಒಂದು ತೆಳುವಾದ (thin) module ಅನ್ನು ಬರೆಯಿರಿ.
- Remove it: ಒಂದು ವೇಳೆ ಅದರ ವೆಚ್ಚವು ಅದರ ಮೌಲ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ಅದನ್ನು ಡಿಲೀಟ್ ಮಾಡಿ.
ಪರ್ಫಾರ್ಮೆನ್ಸ್ (performance) ಅನ್ನು ಕೇವಲ ಕಥೆಗಳಂತೆ ನೋಡಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ನಿಮ್ಮ ಸ್ಟೋರ್ ಅನ್ನು ಸರಿಪಡಿಸಲು ಡೇಟಾವನ್ನು ಬಳಸಿ.
Source: https://dev.to/iamrobindhiman/which-magento-extension-is-slowing-you-down-stop-guessing-1mj3