У меня есть настройка PostgreSQL на VPS, которой я владею - программным обеспечением, которое обращается к базе данных, является программа под названием PokerTracker.Удаленный Postgresql - чрезвычайно медленный
PokerTracker записывает все ваши руки и статистику во время онлайн-покера.
Я хотел, чтобы это было доступно с нескольких разных компьютеров, поэтому решили установить его на моем VPS, и после нескольких икота мне удалось подключить его без ошибок.
Однако исполнение является ужасным. Я провел много исследований по «удаленному postgresql slow» и т. Д., И я еще не нашел ответа, поэтому надеюсь, что кто-то сможет помочь.
Things отметить:
Запрос Я пытаюсь выполнить очень мало. При локальном подключении к VPS запрос выполняется мгновенно.
При дистанционном запуске запроса для выполнения запроса требуется около 1 минуты 30 секунд.
VPS работает 100MBPS, а затем компьютер, с которым я подключаюсь, находится на линии 8MB.
Сетевая связь между двумя практически мгновенно, я могу удаленно подключиться нормально, без каких-либо ограничений, и размещаю несколько веб-сайтов, на которых работает MSSQL, и все запросы запускаются мгновенно, независимо от того, подключены ли они удаленно или локально, так что это похоже на PostgreSQL ,
Я использую их новейшую версию программного обеспечения и новейшую совместимую версию PostgreSQL с их программным обеспечением.
База данных - это новая база данных, содержащая практически любые данные, и я запускал вакуум/анализ и т. Д. Все безрезультатно, я не вижу улучшений.
Я не понимаю, как MSSQL может запрашивать почти мгновенно, но PostgreSQL так много борется.
Я могу с помощью telnet подключиться к порту 5432 на VPS IP без проблем, и, как я сказал, запрос выполняется, он занимает очень много времени.
То, что я заметил на маршрутизаторе, когда выполняется запрос, вряд ли используется какая-либо пропускная способность, - но с другой стороны, я бы не ожидал, что это будет простой запрос, но я не уверен, если это проблема. Я попытался подключиться удаленно в 3 разных сетях (включая разные маршрутизаторы), но проблема остается.
Подключение через удаленную сеть через локальную сеть осуществляется мгновенно.
Я также отредактировал файл postgre conf, чтобы учесть больше памяти/буферов и т. Д., Но я не думаю, что это проблема. Я прошу его сделать очень просто - он не должен быть интенсивным вообще ,
Спасибо, Рики
Edit: Обратите внимание, что клиент и сервер как работает Windows.
Вот информация из конфигурационных файлов.
pg_hba - currently allowing all traffic: # TYPE DATABASE USER CIDR-ADDRESS METHOD # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: # host all all ::1/128 md5
И postgresqlconf - Я знаю, я дал некоторые мамонта количество буферов/памяти для этой конфигурации, просто чтобы проверить, был ли это вопрос - показывая незакомментированной линии только:
listen_addresses = '*' port = 5432 max_connections = 100 shared_buffers = 512MB work_mem = 64MB max_fsm_pages = 204800 shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll' log_destination = 'stderr' logging_collector = on log_line_prefix = '%t ' datestyle = 'iso, mdy' lc_messages = 'English_United States.1252' lc_monetary = 'English_United States.1252' lc_numeric = 'English_United States.1252' lc_time = 'English_United States.1252' default_text_search_config = 'pg_catalog.english'
Любая другая информация, пожалуйста, дайте мне знать. Спасибо за вашу помощь.
Пожалуйста, разместите запрос, размеры участвующих таблиц и размер вывода. – Quassnoi
Это звучит как сетевая проблема, а не проблема postgres. Что произойдет, если вы выполните запрос с клиентской машины с помощью 'psql -h server ...'? Что произойдет, если вы сделаете это вместо туннеля ssh? –
Я знал, что пропущу важную информацию. Я забыл сказать, что обе операционные системы работают под управлением Windows. Я отправлю запрос, если это необходимо, но это простой запрос, просто поиск одной таблицы, похоже, вызывает проблему. Я не вижу, как это может быть из-за запроса, когда локально это мгновенно, и все же есть огромная задержка с запуском его удаленно. – Ricky