Очень медленная загрузка LinkedGeoData в PostgreSql
Я установил и настроил свою базу данных PostgreSql и скачал отсюда файлы LinkedGeoData, а затем выполнил строку lgd-createdb -h localhost -d databasename -U user -W password -f bremen-latest.osm.pbf
(12MB) и то же самое для saarland-latest.osm.pbf
(21,6 МБ) и работал нормально и менее 15 минут, но я попытался загрузить более тяжелый файл, например Mecklenburg-Vorpommern-latest.osm.pbf
(54MB) и это не очень хорошо отреагировало, система выполняет эту строку, но я жду результата со вчерашнего дня.
Значения моего файла conf в PostgreSql postgresql.conf
являются
shared_buffers = 2GB
effective_cache_size = 4GB
checkpoint_segments = 256
checkpoint_completion_target = 0.9
autovacuum = off
work_mem = 256MB
maintainance_work_mem = 256MB
Моя версия PostgreSql - 9.1 под Debian Machine.
Как я могу решить эту проблему?
Я благодарю вас заранее.
1 ответ
Я являюсь разработчиком сценария lgd-createb, и я только что попытался воспроизвести проблему с помощью postgresql 9.3 (через ubuntu 14.04) на ноутбуке с четырехъядерным процессором I7, SSD и 8 ГБ оперативной памяти - и для меня Mecklenburg-Vorpommern-latest. Файл osm.pbf был загружен менее чем за 10 минут.
Мои настройки были:
shared_buffers = 2GB
temp_buffers = 64MB
work_mem = 64MB
maintenance_work_mem = 256MB
checkpoint_segments = 64
checkpoint_completion_target = 0.9
checkpoint_warning = 30s
effective_cache_size = 2GB
так похоже на твое.
Я даже создал новую версию скрипта LGD (еще не в репо), где осмос настроен так, чтобы сначала загружать данные в схему "снимка", а затем преобразовывать их в "простую" схему. Осмос оптимизирован для прежней схемы, и действительно, за один прогон (с использованием опции CompactTempFile) он был немного быстрее (снимок 8 минут против простого 8:30 минут).
У вас есть SSD? Последняя стратегия загрузки может быть значительно быстрее на не-SSD (хотя для файла размером 50 МБ не должно быть часов). Возможно, индикатор загрузки системы, такой как htop или display-multiload, мог бы помочь вам выявить проблемы с ресурсами (например, нехватка ОЗУ или высокая скорость дискового ввода-вывода другим процессом).