Базы данных/Лабораторная работа 6 — различия между версиями
Материал из Wiki - Факультет компьютерных наук
м |
|||
| Строка 57: | Строка 57: | ||
Установка: | Установка: | ||
sudo apt-get install -y apache2-utils | sudo apt-get install -y apache2-utils | ||
| + | |||
| + | Запуск: | ||
| + | ab | ||
| + | |||
| + | = Задание = | ||
| + | |||
| + | # Воспроизвести аналогичную систему. | ||
| + | # Настроить её так, чтобы в Redis записывалось каждое посещение страницы (ключ - url страницы, например "/my/awesome/page.html") | ||
| + | # Разобраться и понимать в архитектуру и работе стенда. | ||
| + | # Провести тестирование с помощью Apache Benchmark ("ab") | ||
| + | # Убедиться, что все показы записались в базу. | ||
Версия 00:35, 8 июня 2016
Цель лабораторной работы: создать высоконагруженный счётчик посещения ссылок.
Содержание
Установка
окружение для сборки
sudo apt-get install --yes libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential
Redis
sudo apt-get install --yes redis-server redis-tools
NginX + redis2_module
sudo -i
mkdir -p /opt/{nginx-build,nginx,redis2}/
cd redis2
wget 'https://github.com/openresty/redis2-nginx-module/archive/v0.13.tar.gz'
tar xf v0.13.tar.gz
cd -
cd /opt/nginx-build/
wget 'http://nginx.org/download/nginx-1.9.15.tar.gz'
tar -xzvf nginx-1.9.15.tar.gz
cd nginx-1.9.15/
./configure --prefix=/opt/nginx --add-module=/opt/redis2/redis2-nginx-module-0.13/
make -j2
make install
Настройка
sudo -i
cd /opt/nginx/
cat <<EOF > nginx.conf.tpl
events {
worker_connections 4096;
}
http {
server {
listen 8000;
location / {
# $uri variable holds part of url after "address:port"
# Redis Server is available via 6379 port on localhost
## DO YOUR WORK HERE ##
# docs: https://github.com/openresty/redis2-nginx-module
}
}
}
Тестирование
Apache Benchmark
Установка:
sudo apt-get install -y apache2-utils
Запуск:
ab
Задание
- Воспроизвести аналогичную систему.
- Настроить её так, чтобы в Redis записывалось каждое посещение страницы (ключ - url страницы, например "/my/awesome/page.html")
- Разобраться и понимать в архитектуру и работе стенда.
- Провести тестирование с помощью Apache Benchmark ("ab")
- Убедиться, что все показы записались в базу.