• siriuso siriuso
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 22
    • Задачи 22
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 0
    • Запросы на слияние 0
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • Teknokomo
  • siriuso
  • Wiki
  • osm

osm · Изменения

История страницы
Update osm создал Апр 01, 2018 по автору Василий Карбовничий's avatar Василий Карбовничий
Показать
Построчно Рядом
osm.md
Просмотреть страницу @bfedc73c
......@@ -10,16 +10,45 @@
Во время загрузки карт самым узким местом является дисковая подсистема т.к. во время загрузки выполняется операция поиска связей.
На 03.2018 самым производительным вариантом является ФС f2fs / xfs и io scheduler CFQ.
Полезные команды
```bash
apt-get install f2fs-tools # Ставим необходимые пакеты
mkfs.f2fs -l osm /dev/sdxY # Размечаем файловую системы на указанном диске
/dev/sdxY /mnt/osm/ default,discard 0,0 # Прописываем монтирование при загрузке
echo "/dev/sdxY /mnt/osm/ default,discard 0,0" >> /etc/fstab.conf # Прописываем монтирование при загрузке в fstab
mount -a # Монтируем раздел
echo cfq > /sys/block/sdx/queue/scheduler # Установить планировщик cfq
cat /sys/block/sdx/queue/scheduler # проверить планировщик
```
Так же можно разделить данные. Файл для flatnodes хранить на одном физическом диске, а базу на другом.
## Настройка базы ##
Настройки для postgresql.conf только на время загрузки данных в базу
```
shared_buffers = 8MB
work_mem = 1MB
maintenance_work_mem = 4096MB
synchronous_commits = off
fsync = off
checkpoint_segments = 60
random_page_cost = 1.1
effective_io_concurrency = 2
max_worker_processes = 8
max_parallel_workers_per_gather = 4
max_wal_size = 8GB
min_wal_size = 4GB
checkpoint_completion_target = 0.9
autovacuum = on
```
Настройки при создании базы
```sql
CREATE USER siriuso WITH password 'siriuso';
CREATE DATABASE IF NOT EXIST osm OWNER siriuso;
CREATE EXTENSION IF NOT EXIST postgis;
CREATE EXTENSION IF NOT EXIST hstore;
```
## Загрузка базы OSM ##
Загрузка данных в базу выполняется через утилиту osm2pgsql
......@@ -29,7 +58,7 @@ mount -a # Монтируем раздел
[Документация по опциям](https://github.com/openstreetmap/osm2pgsql/blob/master/docs/usage.md)
```bash
osm2pgsql --create --cache 14000 --slim --flat-nodes flatnodes --hstore-all --hstore-add-index --latlon --proj 4386 --number-processes 8 --multi-geometry -d osm -H localhost -U siriuso -W planet-latest.osm.pbf
osm2pgsql --create --cache 14000 --slim --flat-nodes flatnodes --hstore-all --hstore-add-index --latlon --proj 4326 --number-processes 8 --multi-geometry -d osm -H localhost -U siriuso -W planet-latest.osm.pbf
```
`--cache` рекомендуется выбирать как 75% доступной оперативной памяти
......@@ -39,7 +68,7 @@ osm2pgsql --create --cache 14000 --slim --flat-nodes flatnodes --hstore-all --hs
Для хранения тегов в hstore необходимо подключить расширение hstore
SRID **3857** используется для тайлового рендеринга
SRID **4386** используется для аналитики
SRID **4326** используется для аналитики
## Дополнительные материалы ##
- [Доклад о производительности за 2012 год](http://www.geofabrik.de/media/2012-09-08-osm2pgsql-performance.pdf)
......
Клонировать репозиторий
  • Home
  • osm
  • Базовые команды Git
  • Сокрытие паролей и ключей в коде