Linux io_uring ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು hinsightd HTTP ಸರ್ವರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ

ಕಾಂಪ್ಯಾಕ್ಟ್ HTTP ಸರ್ವರ್, hinsightd ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, ಇದು Linux ಕರ್ನಲ್‌ನಲ್ಲಿ ಒದಗಿಸಲಾದ io_uring ಅಸಮಕಾಲಿಕ I/O ಇಂಟರ್ಫೇಸ್‌ನ ಬಳಕೆಗೆ ಗಮನಾರ್ಹವಾಗಿದೆ. ಸರ್ವರ್ HTTP/1.1 ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಬೇಡಿಕೆಯ ಕಾರ್ಯವನ್ನು ಒದಗಿಸುವಾಗ ಕಡಿಮೆ ಸಂಪನ್ಮೂಲ ಬಳಕೆಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, hinsightd TLS ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿಯಿಂಗ್ (rproxy), ಸ್ಥಳೀಯ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಡೈನಾಮಿಕ್ ಆಗಿ ರಚಿಸಲಾದ ವಿಷಯವನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದು, ರವಾನೆಯಾದ ಡೇಟಾದ ಫ್ಲೈ ಕಂಪ್ರೆಷನ್, ಸ್ಥಾಪಿತ ಸಂಪರ್ಕಗಳನ್ನು ಮುರಿಯದೆ ಮರುಪ್ರಾರಂಭಿಸುವುದು, FastCGI ಮತ್ತು CGI ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಡೈನಾಮಿಕ್ ವಿನಂತಿ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು BSD ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಸಂರಚನೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು, ಸೇರ್ಪಡೆಗಳನ್ನು ಬರೆಯಲು ಮತ್ತು ವಿನಂತಿ ನಿರ್ವಾಹಕರನ್ನು ರಚಿಸಲು, ಲುವಾ ಭಾಷೆಯನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ, ಮತ್ತು ಅಂತಹ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ನೇರವಾಗಿ ಸರ್ವರ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. ಪ್ಲಗಿನ್‌ಗಳ ರೂಪದಲ್ಲಿ, ಲಾಗ್ ರೆಕಾರ್ಡಿಂಗ್ ಸ್ವರೂಪವನ್ನು ಬದಲಾಯಿಸುವುದು, ವೈಯಕ್ತಿಕ ಲಾಗ್‌ಗಳನ್ನು ವರ್ಚುವಲ್ ಹೋಸ್ಟ್‌ಗಳಿಗೆ ಲಿಂಕ್ ಮಾಡುವುದು, ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ ತಂತ್ರವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು, HTTP ದೃಢೀಕರಣ, URL ಅನ್ನು ಪುನಃ ಬರೆಯುವುದು ಮತ್ತು ನಿಗದಿತ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸುವುದು (ಉದಾಹರಣೆಗೆ, ಲೆಟ್ಸ್ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನವೀಕರಿಸುವುದು) ಮುಂತಾದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ.

ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಹಿನ್‌ಸೈಟ್ಡ್ ಕಾರ್ಯವನ್ನು ಸಂಯೋಜಿಸಲು ಸರ್ವರ್ ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಬರುತ್ತದೆ. Hinsightd ಆಜ್ಞಾ ಸಾಲಿನಿಂದ HTTP ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಸಮಗ್ರ ಕಾರ್ಯವನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ, ಉದಾಹರಣೆಗೆ, ನೀವು ಪುಟವನ್ನು ಲೋಡ್ ಮಾಡಲು "hinsightd -d URL" ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬಹುದು. ಸರ್ವರ್ ತುಂಬಾ ಸಾಂದ್ರವಾಗಿರುತ್ತದೆ ಮತ್ತು ಸಂಕಲನ ರೂಪದಲ್ಲಿ ಸುಮಾರು 200KB ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ (100KB ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಮತ್ತು 100KB ಹಂಚಿದ ಲೈಬ್ರರಿ). ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳು ಕೇವಲ libc, lua, liburing ಮತ್ತು zlib, ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ openssl/libressl ಮತ್ತು ffcall ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ.

ಮತ್ತಷ್ಟು ಅಭಿವೃದ್ಧಿಯ ಯೋಜನೆಗಳು ಸಂಕುಚಿತ ಫೈಲ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಸಾಮರ್ಥ್ಯ, ಫಿಲ್ಟರಿಂಗ್ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಆಧಾರದ ಮೇಲೆ ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪ್ರತ್ಯೇಕತೆ ಮತ್ತು ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳನ್ನು ಬಳಸುವುದು, ಟ್ರಾಫಿಕ್ ಶೇಪಿಂಗ್, ಮಲ್ಟಿ-ಥ್ರೆಡಿಂಗ್, ಸುಧಾರಿತ ದೋಷ ನಿರ್ವಹಣೆ ಮತ್ತು ಮುಖವಾಡ ಆಧಾರಿತ ವರ್ಚುವಲ್ ಹೋಸ್ಟ್ ಪತ್ತೆ.

250 ಮತ್ತು 500 (ಆವರಣದಲ್ಲಿ) ಸಮಾನಾಂತರ ವಿನಂತಿಗಳನ್ನು (“ab -k -c 250 -n 10000 http://localhost/”) ಚಲಾಯಿಸುವಾಗ ab ಉಪಯುಕ್ತತೆಯೊಂದಿಗೆ ಸಂಶ್ಲೇಷಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷೆಯ ಫಲಿತಾಂಶಗಳು (ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ ಆಪ್ಟಿಮೈಸೇಶನ್ ಇಲ್ಲದೆ)

  • hinsightd/0.9.17 – ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 63035.01 ವಿನಂತಿಗಳು (54984.63)
  • lighttpd/1.4.67 - ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 53693.29 ವಿನಂತಿಗಳು (1613.59)
  • ಅಪಾಚೆ/2.4.54 - ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 37474.10 ವಿನಂತಿಗಳು (34305.55)
  • ಕ್ಯಾಡಿ/2.6.2 – ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 35412.02 ವಿನಂತಿಗಳು (33995.57)
  • nginx/1.23.2 - ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 26673.64 ವಿನಂತಿಗಳು (26172.73)

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ