PHP ์Šคํฌ๋ฆฝํŠธ์˜ ์‹ค์‹œ๊ฐ„ ํ†ต๊ณ„ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง. ClickHouse์™€ Grafana๊ฐ€ Pinba์˜ ๋„์›€์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” pinba_engine ๋ฐ pinboard ๋Œ€์‹  clickhouse ๋ฐ grafana์™€ ํ•จ๊ป˜ pinba๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

PHP ํ”„๋กœ์ ํŠธ์—์„œ pinba๋Š” ์•„๋งˆ๋„ ์„ฑ๋Šฅ์— ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค, pinba๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์ด๋ฏธ ๊ด€์ฐฐ๋˜๊ณ  "ํŒŒ์•…ํ•  ์œ„์น˜"๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

์ข…์ข… ์ด ์Šคํฌ๋ฆฝํŠธ๋‚˜ ์ € ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ดˆ๋‹น ๋ช‡ ๋ฒˆ์ด๋‚˜ ํ˜ธ์ถœ๋˜๋Š”์ง€ ์•„๋ฌด๋„ ๋ชจ๋ฅด๊ณ  ๋” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ณด์ด๋Š” ๊ณณ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ "ํ„ฐ์น˜ํ•˜์—ฌ" ์ตœ์ ํ™”ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€๋Š” nginx ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋‹ค๋ฅธ ์ผ๋ถ€๋Š” ๋Š๋ฆฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  pinba๊ฐ€ ๋ถˆํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— pinba๊ฐ€ ์—†๋Š” ๋ฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

PHP ์Šคํฌ๋ฆฝํŠธ์˜ ์‹ค์‹œ๊ฐ„ ํ†ต๊ณ„ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง. ClickHouse์™€ Grafana๊ฐ€ Pinba์˜ ๋„์›€์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฒซ ๋ฒˆ์งธ ์ด์œ ๋Š” ์„ค์น˜์ž…๋‹ˆ๋‹ค.

Pinba ๊ตฌํ˜„์—์„œ ์ผ์ข…์˜ "์†Œ์ง„"์„ ์–ป์œผ๋ ค๋ฉด ๋งˆ์ง€๋ง‰ ๋ช‡ ๋ถ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์žฅ๊ธฐ๊ฐ„(๋ฉฐ์น ์—์„œ ๋ช‡ ๋‹ฌ๊นŒ์ง€)์— ๋Œ€ํ•œ ์ธก์ • ํ•ญ๋ชฉ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • PHP์šฉ ํ™•์žฅ ์„ค์น˜(nginx์šฉ ๋ชจ๋“ˆ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Œ)
  • mysql์šฉ ์ปดํŒŒ์ผ ํ™•์žฅ
  • ํ•€๋ณด๋“œ ์„ค์น˜ ๋ฐ cron ๊ตฌ์„ฑ

Pinba์— ๋Œ€ํ•œ ์ •๋ณด์˜ ์–‘์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ Pinba๊ฐ€ PHP5์—์„œ๋งŒ ์ž‘๋™ํ•˜๊ณ  ์˜ค๋ž˜์ „๋ถ€ํ„ฐ ์žˆ์—ˆ๋˜ ์ผ์ด๋ผ๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜์ค‘์— ์‚ดํŽด๋ณด๊ฒ ์ง€๋งŒ ์‚ฌ์‹ค์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๋ฉฐ, ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

apt install php-pinba

์ด ํ™•์žฅ์€ PHP 7.3๊นŒ์ง€์˜ ์ €์žฅ์†Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•„๋ฌด๊ฒƒ๋„ ์ปดํŒŒ์ผํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„ ๊ฐ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ(์‹คํ–‰ ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ)์„ ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ณด๋‚ด๋Š” ์ž‘์—… ํ™•์žฅ์„ ์ฆ‰์‹œ ๋ฐ›์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ†  ๋ฒ„ํ”„ UDP๋ฅผ ํ†ตํ•ด 127.0.0.1:30002๋กœ.

์ง€๊ธˆ๊นŒ์ง€ ์•„๋ฌด๋„ ์ด๋Ÿฌํ•œ UDP ํŒจํ‚ท์„ ํฌ์ฐฉํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์ด๋Š” ์–ด๋–ค ์‹์œผ๋กœ๋“  PHP ์Šคํฌ๋ฆฝํŠธ์˜ ์†๋„๋‚˜ ์•ˆ์ •์„ฑ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ๊นŒ์ง€ ์ด๋Ÿฌํ•œ UDP ํŒจํ‚ท์„ ํฌ์ฐฉํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ pinba_engine. ์„ค๋ช… "๊ฐ„๋‹จํ•˜๊ณ  ๊ฐ„๊ฒฐํ•˜๋‹ค" ์„ค์น˜๋Š” ๋‹ค์‹œ ์ฝ๊ณ  ์‹ถ์€ ์š•๊ตฌ๋ฅผ ์–ต์ œํ•ฉ๋‹ˆ๋‹ค. ํ‚ฌ๋กœ๋ฏธํ„ฐ ๊ธธ์ด์˜ ์ข…์†์„ฑ ๋ชฉ๋ก์—๋Š” ํŒจํ‚ค์ง€ ์ด๋ฆ„๊ณผ ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„, ์„ค์น˜๊ฐ€ ํฌํ•จ๋œ ๊ฐœ๋ณ„ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ž์ฒด ๋งํฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋„ ์ด ์“ฐ๋ ˆ๊ธฐ๋ฅผ ๋‹ค๋ฃฐ ์‹œ๊ฐ„์ด๋‚˜ ์š•๊ตฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ๊ณผ์ • ํ•€๋ฐ”2 ํ•˜์ง€ ์•Š์•˜๋‹ค ํŠนํžˆ ๋” ์‰ฌ์›Œ์š”.

์•„๋งˆ๋„ ์–ธ์  ๊ฐ€๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๋ช…๋ น์œผ๋กœ pinba10์„ ์„ค์น˜ํ•˜๊ณ  ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์ž๋ฃŒ๋ฅผ ์ฝ์„ ํ•„์š”๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

pinba_engine์„ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์ด๊ฒƒ์€ ์ „ํˆฌ์˜ ์ ˆ๋ฐ˜์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ, ์—†์ด๋Š” ํ•€ ๋ณด๋“œ ์ง€๋‚œ ๋ช‡ ๋ถ„ ๋™์•ˆ์˜ ๋ฐ์ดํ„ฐ๋กœ ์ œํ•œํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ง‘๊ณ„, ์ €์žฅ ๋ฐ ์‹œ๊ฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•€๋ณด๋“œ๋Š” ์‚ฌ์šฉ๋ฒ•์ด ๊ฝค ๊ฐ„๋‹จํ•ด์„œ ์ข‹๋„ค์š” ์„ค์น˜.

PHP์˜ ๋ชจ๋“  ๋ฉ”ํŠธ๋ฆญ์ด ์ด๋ฏธ protobuf ํ˜•์‹์œผ๋กœ udp ํฌํŠธ๋กœ ์ „์†ก๋˜์—ˆ๊ณ  ํ•„์š”ํ•œ ๊ฒƒ์€ ์ด๋ฅผ ์žก์•„์„œ ์ผ์ข…์˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ฟ์ด๋ผ๋ฉด ์™œ ๊ทธ๋ ‡๊ฒŒ ๊ณ ํ†ต๋ฐ›๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ? ๋ถ„๋ช…ํžˆ ์ด ์•„์ด๋””์–ด๋ฅผ ์ƒ๊ฐํ•ด๋‚ธ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฆ‰์‹œ ์ž๋ฆฌ์— ์•‰์•„ ์ž์‹ ์˜ ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ–ˆ์œผ๋ฉฐ ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” GitHub์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋ฉ”ํŠธ๋ฆญ์„ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•˜๋Š” XNUMX๊ฐœ์˜ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๊ฐœ์š”์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด grafana๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

olegfedoseev/pinba-์„œ๋ฒ„ (2017๋…„ XNUMX์›”)

OpenTSDB์— ๋ฉ”ํŠธ๋ฆญ์„ ์ €์žฅํ•˜๋Š” UDP ์„œ๋ฒ„๊ฐ€ ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ํ”„๋กœ์ ํŠธ์—์„œ ์ด๋ฏธ OpenTSDB๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ด ์†”๋ฃจ์…˜์ด ์ ํ•ฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

olegfedoseev/pinba-influxdb (2018๋…„ XNUMX์›”)

๊ฐ™์€ ๊ณณ์—์„œ UDP ์„œ๋ฒ„๊ฐ€ ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ํ•˜๋ธŒ๋ผ์šฐ์ €, ์ด๋ฒˆ์—๋Š” InfluxDB์— ๋ฉ”ํŠธ๋ฆญ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ ์ด๋ฏธ InfluxDB๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ์†”๋ฃจ์…˜์ด ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์  :

  • ์ธํ”Œ๋Ÿญ์ŠคDB ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ˆ˜์‹ ๋œ ์ธก์ •ํ•ญ๋ชฉ์„ ์ง‘๊ณ„ํ•˜๊ณ  ์ง€์ •๋œ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์›๋ณธ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์  :

  • ์ด ์†”๋ฃจ์…˜์€ ํƒ€์ด๋จธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • InfluxDB๋Š” ์‚ฌ์ดํŠธ ํŽ˜์ด์ง€ ์ฃผ์†Œ๋ฅผ ํƒœ๊ทธ๋กœ ์ €์žฅํ•˜๋ฉฐ ๊ณ ์œ ํ•œ ํŽ˜์ด์ง€ ์ฃผ์†Œ๊ฐ€ ๋งŽ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„ ์ฆ๊ฐ€ ๋žœ๋ค ์•ก์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ. ์–ด๋Š ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๊ทธ๋Š” "๋ฏธ์นœ ๋“ฏ์ด ๊ธฐ์–ต์„ ๋จน์–ด์น˜์šธ ๊ฑฐ์•ผ". (์ถœ์ฒ˜)

ํด๋ฆญํ•˜์šฐ์Šค-๋‹Œ์ž/ํ”„๋กœํ†ค (2019๋…„ XNUMX์›”)

ClickHouse์— ์ธก์ •ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜๋Š” UDP ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‚ด ์นœ๊ตฌ์˜ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. ํ•€๋ถ€์™€ ํด๋ฆญํ•˜์šฐ์Šค๋ฅผ ๋งก์•„์•ผ ํ•  ๋•Œ๋ผ๊ณ  ํŒ๋‹จํ•œ ๊ฒƒ์€ ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋œ ์ดํ›„์˜€์Šต๋‹ˆ๋‹ค.

์žฅ์  :

  • Clickhouse๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์••์ถ•ํ•˜์—ฌ ์ง‘๊ณ„ ์—†์ด๋„ ๋ชจ๋“  ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ ์ธก์ •ํ•ญ๋ชฉ์„ ์‰ฝ๊ฒŒ ์ง‘๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Grafana์šฉ ๊ธฐ์„ฑ ํ…œํ”Œ๋ฆฟ
  • ํƒ€์ด๋จธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค

๋‹จ์  :

  • ์น˜๋ช…์  ๊ฒฐํ•จ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„, ์„œ๋ฒ„์˜ ์ฃผ์†Œ์™€ ํฌํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.
  • ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ๋ณด์กฐ ์‚ฌ์ „ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๋ฐ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ ํ›„์† ์ฟผ๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ ๋นผ๊ธฐ ์ดํ›„์— ๋‚˜์˜ค๋Š” ๋‹ค๋ฅธ ์ž‘์€ ๊ฒƒ๋“ค

ํ•€๋ฐ” ์„œ๋ฒ„/ํ•€๋ฐ” ์„œ๋ฒ„ (2019๋…„ XNUMX์›”)

ClickHouse์— ์ธก์ •ํ•ญ๋ชฉ์„ ์ €์žฅํ•˜๋Š” PHP์˜ UDP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด pinba, ClickHouse ๋ฐ protobuf๋ฅผ ์•Œ๊ฒŒ ๋œ ๊ฒฐ๊ณผ์ธ ๋‚˜์˜ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š” ๋™์•ˆ "๊ฐœ๋… ์ฆ๋ช…"์„ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ, ๋œป๋ฐ–์—๋„ ๋ฆฌ์†Œ์Šค(RAM 30MB, ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด 1๊ฐœ ์ค‘ XNUMX% ๋ฏธ๋งŒ)๋ฅผ ์†Œ๋น„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€์ค‘๊ณผ ๊ณต์œ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์žฅ์ ์€ ์ด์ „ ์†”๋ฃจ์…˜๊ณผ ๋™์ผํ•˜๋ฉฐ ์›๋ž˜ pinba_engine์˜ ์ผ๋ฐ˜์ ์ธ ์ด๋ฆ„๋„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋ฉ”ํŠธ๋ฆญ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ pinbase ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋ฅผ ํ•œ ๋ฒˆ์— ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” PHP๋ฟ๋งŒ ์•„๋‹ˆ๋ผ nginx์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์  - "์น˜๋ช…์ ์ธ ๊ฒฐํ•จ"๊ณผ ๊ฐœ์ธ์ ์œผ๋กœ ์ ํ•ฉํ•˜์ง€ ์•Š์€ ์ž‘์€ ๊ฒƒ๋“ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ์†”๋ฃจ์…˜์€ "์Šฌ๋ฆฌํผ์ฒ˜๋Ÿผ ๊ฐ„๋‹จ"ํ•˜๊ณ  ์•ฝ 100์ค„์˜ ์ฝ”๋“œ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ PHP ๊ฐœ๋ฐœ์ž๋Š” ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ์•ˆ์—.

์šด์˜ ์›์น™

UDP ํฌํŠธ 30002๊ฐ€ ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค. ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ํŒจํ‚ท์€ protobuf ์ฒด๊ณ„์— ๋”ฐ๋ผ ๋””์ฝ”๋”ฉ๋˜๊ณ  ์ง‘๊ณ„๋ฉ๋‹ˆ๋‹ค. XNUMX๋ถ„์— ํ•œ ๋ฒˆ์”ฉ ํŒจํ‚ท์ด pinba.requests ํ…Œ์ด๋ธ”์˜ clickhouse์— ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค. (๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ตฌ์„ฑ)

ํด๋ฆญํ•˜์šฐ์Šค์— ๋Œ€ํ•ด ์กฐ๊ธˆ

Clickhouse๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ ์—”์ง„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ MergeTree์ž…๋‹ˆ๋‹ค.

ํŠน์ • ์‹œ์ ์— ์ง‘๊ณ„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ญ์ƒ ์ €์žฅํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์›์‹œ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๊ฒฝ์šฐ ๊ทธ๋ฃนํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ๋ณธ pinba.requests ํ…Œ์ด๋ธ”์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒดํ™”๋œ ๊ฒฌํ•ด. ๋˜ํ•œ pinba.requests ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ "engine = Null"์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์›์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋””์Šคํฌ์— ์ „ํ˜€ ์ €์žฅ๋˜์ง€ ์•Š๊ณ  ๋™์‹œ์— ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์— ๋‚จ์•„ ์ง‘๊ณ„๋œ ์ƒํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. . ๋‚˜๋Š” nginx ๋ฉ”ํŠธ๋ฆญ์— ์ด ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด nginx์—์„œ๋Š” PHP๋ณด๋‹ค 50๋ฐฐ ๋” โ€‹โ€‹๋งŽ์€ ์š”์ฒญ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ๋จผ ๊ธธ์„ ์™”๊ณ  ๋‚˜๋Š” ๋‹น์‹ ์„ ์ค‘๊ฐ„์—๋‘๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ์€ ๋‚ด ์†”๋ฃจ์…˜์˜ ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ๊ณผ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  ๋‘ ๋Œ€ ์ด์ƒ์˜ ์„ ๋ฐ•์„ ์•ผ๊ธฐํ•œ ํ•จ์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ถฉ๋Œํ•˜๋‹ค. ์ „์ฒด ์„ค์น˜ ํ”„๋กœ์„ธ์Šค๋Š” Ubuntu 18.04 LTS ๋ฐ Centos 7์— ๋Œ€ํ•ด ์„ค๋ช…๋˜์–ด ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ๋ฐฐํฌํŒ ๋ฐ ๋ฒ„์ „์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•ฝ๊ฐ„ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜

ํ•„์š”ํ•œ ๋ชจ๋“  ๋ช…๋ น์„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค. ๋„์ปค ํŒŒ์ผ ์ง€์‹œ์‚ฌํ•ญ์˜ ์žฌํ˜„์„ฑ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ๋Š” ํ•จ์ •์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

PHP-ํ•€๋ฐ”

์„ค์น˜ ํ›„ /etc/php/7.2/fpm/conf.d/20-pinba.ini ํŒŒ์ผ์—์„œ ๋ชจ๋“  ์˜ต์…˜์˜ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ฑฐํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์ผ๋ถ€ ๋ฐฐํฌํŒ(์˜ˆ: centos)์—์„œ๋Š” ์ฃผ์„ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

extension=pinba.so
pinba.enabled=1
pinba.server=127.0.0.1:30002

ํด๋ฆญํ•˜์šฐ์Šค

์„ค์น˜ํ•˜๋Š” ๋™์•ˆ Clickhouse๋Š” ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋“  IP์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„œ๋ฒ„์— ๋ฐฉํ™”๋ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ์„ค์น˜ ํ›„์— /etc/clickhouse-server/users.xml ํŒŒ์ผ์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

clickhouse๊ฐ€ 9000์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ๋„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํฌํŠธ๋Š” ์ผ๋ถ€ ๋ฐฐํฌํŒ(์˜ˆ: centos)์—์„œ php-fpm์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ด ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ /etc/clickhouse-server/config.xml ํŒŒ์ผ์—์„œ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

clickhouse ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ๋Š” grafana

Grafana ์„ค์น˜ ํ›„ ๋กœ๊ทธ์ธ admin๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ admin์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ฒ˜์Œ ๋กœ๊ทธ์ธํ•˜๋ฉด Grafana์—์„œ ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ "+" -> ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฉ”๋‰ด๋กœ ์ด๋™ํ•˜์—ฌ ๊ฐ€์ ธ์˜ฌ ๋Œ€์‹œ๋ณด๋“œ ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. 10011. ๋‹ค์‹œ๋Š” ์ง์ ‘ ํ•˜์ง€ ์•Š์œผ์‹œ๋ผ๊ณ  ์ด ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ค€๋น„ํ•ด์„œ ์—…๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

Grafana๋Š” ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด clickhouse ์ž‘์—…์„ ์ง€์›ํ•˜์ง€๋งŒ Grafana์—๋Š” ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค(๋ช‡ ๋…„ ๋™์•ˆ ์ด์— ๋Œ€ํ•œ ํ‹ฐ์ผ“์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค).

ํ•€๋ฐ” ์„œ๋ฒ„

protobuf ๋ฐ libevent ์„ค์น˜๋Š” ์„ ํƒ ์‚ฌํ•ญ์ด์ง€๋งŒ pinba-server ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. /opt๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํด๋”์— pinba-server๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ.

nginx์šฉ pinba ๋ชจ๋“ˆ

๋ชจ๋“ˆ์„ ์ปดํŒŒ์ผํ•˜๋ ค๋ฉด ์„œ๋ฒ„์— ์ด๋ฏธ ์„ค์น˜๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ nginx ๋ฒ„์ „์˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ๋™์ผํ•œ ์ปดํŒŒ์ผ ์˜ต์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋นŒ๋“œ๋Š” ์„ฑ๊ณตํ•˜์ง€๋งŒ ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. "๋ชจ๋“ˆ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค." nginx -V ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ ์˜ต์…˜์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒํ™œ ๊ฟ€ํŒ

๋‚ด ๋ชจ๋“  ์‚ฌ์ดํŠธ๋Š” https์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ ํ•„๋“œ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์–ด์ ธ์„œ ์›น/์ฝ˜์†”์„ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์›น์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

if (ini_get('pinba.enabled')) {
    pinba_schema_set('web');
}

์ฝ˜์†” ์Šคํฌ๋ฆฝํŠธ(์˜ˆ: cron ์Šคํฌ๋ฆฝํŠธ)์—์„œ๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

if (ini_get('pinba.enabled')) {
    pinba_schema_set('console');
}

Grafana์˜ ๋Œ€์‹œ๋ณด๋“œ์—๋Š” ํ†ต๊ณ„๋ฅผ ๋ณ„๋„๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์›น/์ฝ˜์†” ์Šค์œ„์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Pinba์— ํƒœ๊ทธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

pinba_tag_set('country', $countryCode);

๊ทธ๊ฒŒ ๋‹ค์•ผ.

๊ธฐ์‚ฌ ์•„๋ž˜ ์„ค๋ฌธ์กฐ์‚ฌ์— ์‘๋‹ตํ•ด ์ฃผ์„ธ์š”.

ํ‰์†Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Habr ๋ฐ ์†Œ์…œ ๋„คํŠธ์›Œํฌ์˜ ๊ฐœ์ธ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์กฐ์–ธํ•˜๊ฑฐ๋‚˜ ๋„์›€์„ ์ฃผ์ง€ ์•Š์Œ์„ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

Github์—์„œ ํ‹ฐ์ผ“์„ ์ƒ์„ฑํ•˜์„ธ์š”.

์ข‹์•„์š”๋กœ๋„ ์‘์›ํ•ด์ฃผ์„ธ์š” ์˜๋ฌธํŒ ์ด ๊ธฐ์‚ฌ ๋ ˆ๋”ง์—์„œ.

๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋งŒ ์„ค๋ฌธ ์กฐ์‚ฌ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์ œ๋ฐœ

์„œ๋ฒ„์—์„œ ์–ด๋–ค OS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‚˜์š”?

  • Ubuntu

  • CentOS์—

  • ๋ฐ๋น„์•ˆ

  • ์  ํˆฌ

  • ๋ ˆ๋“œํ–‡

  • ํŽ˜๋„๋ผ

  • ์˜คํ”ˆ ์ˆ˜์„ธ

  • ์ˆ˜์„ธ

  • ์œ ๋‹‰์Šค

  • Windows

  • ๋‹ค๋ฅธ

114๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 11๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ์–ด๋–ค ๋ฒ„์ „์˜ PHP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

  • 7.3

  • 7.2

  • 7.1

  • 7.0

  • 5

  • ๋‹ค๋ฅธ

105๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 17๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•€๋ฐ”๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์žˆ๋‚˜์š”?

  • ์˜ˆ

  • ์•„๋‹ˆ, ํ•˜์ง€๋งŒ ๋‚œ ๊ทธ๋Ÿฌ๊ณ  ์‹ถ์–ด

  • ์•„๋‹ˆ ๊ทธ๋ฆฌ๊ณ  ๋‚œ ๊ทธ๋Ÿฌ๊ณ  ์‹ถ์ง€ ์•Š์•„

  • ์•„๋‹ˆ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋…€์— ๋Œ€ํ•ด ๋“ค์–ด๋ณธ ์ ๋„ ์—†์–ด

100๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 14๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฒ„์ „์˜ Pinba ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

  • pinba_engine (mysql ์—”์ง„)

  • pinba2 (mysql ์—”์ง„)

  • ํ•€๋ณด๋“œ(php + mysql)

  • olegfedoseev/pinba-์„œ๋ฒ„(go + OpenTSDB)

  • olegfedoseev/pinba-influxdb (go + influxdb)

  • pinba-์„œ๋ฒ„/pinba-์„œ๋ฒ„ (go + clickhouse)

  • pinba-์„œ๋ฒ„/pinba-์„œ๋ฒ„ (php + ํด๋ฆญํ•˜์šฐ์Šค)

  • ๋‚ด๊บผ๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ์“ธ๊ฒŒ

  • ๋‹ค๋ฅธ

39๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 47๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€