Реклама со скоростью света (DMP-платформа), Сергей...
description
Transcript of Реклама со скоростью света (DMP-платформа), Сергей...
![Page 1: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/1.jpg)
Реклама со скоростью света
Сергей Жемжицкий
![Page 2: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/2.jpg)
Агенда
• Предыстория • Проработка решения • Цифры • Архитектура • Нюансы
![Page 3: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/3.jpg)
Требования RTB visitors publishers
advertisers
100 ms 30 ms
20 ms
10.000+ rps
![Page 4: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/4.jpg)
Роль DMP в экосистеме RTB
Data Data
Data
Bidder
![Page 5: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/5.jpg)
Критерии выбора
• Линейная масштабируемость • Шардинг “из коробки” • Распределенность • Репликация • Низкое время отклика
![Page 6: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/6.jpg)
Снова этот NoSQL…
![Page 7: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/7.jpg)
Функциональность Aerospike Cassandra CouchBase Mongo Redis
Масштабируемость
Шардинг
Репликация
Время отклика
Точка отказа
Требовательность
Мониторинг
![Page 8: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/8.jpg)
Литература
![Page 9: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/9.jpg)
Инструменты и материалы • nginx 1.2.x
– ngx-hFp-redis – lua-nginx-module – lua-resty-mongol – ngx-aerospike
• aerospike 2.x • redis 2.6.x • mongodb 2.4.x • wrk • nmon
• Intel® Core™ i7-920 Quad-Core • 48 GB RAM • 1 Gbit/s NICs (*) • 512 bytes msg
* 200 Mbit/s guaranteed
![Page 10: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/10.jpg)
Официальные данные
![Page 11: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/11.jpg)
Неофициальные данные Nginx Redis Mongo Aerospike, b Aerospike, nb
Latency, 50% 1.35 2.68 6.70 8.93 2.64 Latency, 75% 1.46 3.10 8.22 14.99 3.09 Latency, 90% 1.64 3.25 10.22 26.83 3.27 Latency, 99% 1.90 3.90 15.46 106.48 3.95 Throughput, tps 68851 34769 14220 3402 35746 CPU, Web, % 29 20 70 7 33 Network, Web, kp/s 71 71 37 8 71 CPU, Db, % - 6 25 1 6 Network, Db, kp/s - 12 21 1 12
![Page 12: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/12.jpg)
Меряем Nginx
NGINX
WRK • Без логирования • Без плагинов • С CPU Affinity
![Page 13: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/13.jpg)
Относительность измерений L., ms., 50% L., ms., 75% L., ms. 90% L., ms. 99% T., r/s
1.35 1.46 1.64 1.90 68851
![Page 14: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/14.jpg)
Меряем Redis
Node 1
Shard 1
Slave 2
Node 2
Shard 2
Slave 3
Node 3
Shard 3
Slave 1
NGINX
WRK
![Page 15: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/15.jpg)
Результаты Redis L., ms., 50% L., ms., 75% L., ms. 90% L., ms. 99% T., r/s
2.68 3.10 3.25 3.90 34769
![Page 16: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/16.jpg)
Результаты Redis
![Page 17: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/17.jpg)
Меряем Mongo
NGINX :: MONGOS
WRK
Node 1 mongod :: cfg
mongod :: repl
mongod :: repl
mongod :: repl
Node 2 mongod :: cfg
mongod :: repl
mongod :: repl
mongod :: repl
Node 3 mongod :: cfg
mongod :: repl
mongod :: repl
mongod :: repl
Shard 1 Replica Set 1
Shard 2 Replica Set 2
Shard 3 Replica Set 3
![Page 18: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/18.jpg)
Результаты Mongo L., ms., 50% L., ms., 75% L., ms. 90% L., ms. 99% T., r/s
6.70 8.22 10.22 15.46 14220
![Page 19: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/19.jpg)
Результаты Mongo
![Page 20: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/20.jpg)
Меряем Aerospike
Node 1 Chunk 1
Replica 2
Node 2
Chunk 2
Replica 3
Node 3
Chunk 3
Replica 1
NGINX
WRK
![Page 21: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/21.jpg)
Результаты Aerospike L., ms., 50% L., ms., 75% L., ms. 90% L., ms. 99% T., r/s
8.93 14.99 26.83 106.48 3402
![Page 22: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/22.jpg)
Результаты Aerospike
![Page 23: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/23.jpg)
… еще результаты Aerospike Cores 50 75 90 99 Rps Ngx CPU Ngx, pks As, CPU As, pks
4 8.22 10.22 15.46 14 K 3402 7 8 K 1 1 K
8 7.89 15.16 92.4 89.8 6028 10 13 K 1 2 K
12 4.76 8.74 103.1 121.6 10233 15 20 K 2 3 K
16 3.91 6.21 99.6 111.3 13178 22 26 K 3 6 K
24 2.13 2.87 4.68 76.81 25744 21 60 K 5 10 K
32 2.01 2.60 4.42 81.29 28925 25 70 K 6 11 K
64 2.54 3.66 112.4 118.1 26468 27 70 K 6 11 K
![Page 24: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/24.jpg)
…случайно выстрелили в ногу
nginx + blocking I/O
![Page 25: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/25.jpg)
Строим ракету Libevent in action (попытка 2)
Node 1 Chunk 1
Replica 2
Node 2
Chunk 2
Replica 3
Node 3
Chunk 3
Replica 1
LIBEVENT :: LIBEVHTP
WRK
![Page 26: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/26.jpg)
… ну наконец-то … L., ms., 50% L., ms., 75% L., ms. 90% L., ms. 99% T., r/s
2.64 3.09 3.27 4.05 35746
![Page 27: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/27.jpg)
… ну наконец-то …
![Page 28: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/28.jpg)
Строим ракету Можно строить
![Page 29: Реклама со скоростью света (DMP-платформа), Сергей Жемжицкий (Clever Data)](https://reader034.fdocument.pub/reader034/viewer/2022042614/5585ba2ed8b42a695a8b4c5b/html5/thumbnails/29.jpg)
Что иметь ввиду? • Неблокирующий I/O • Все, что можно сделать локально – делать локально
• Быть ленивым (уметь пользоваться чужими результатами)
• Все врут