Почему PostgreSQL является настолько медленным в Windows?

The doomed project

хорошее набор

13
задан sivabudh 23 July 2009 в 22:10
поделиться

3 ответа

Бывают случаи, когда PostgreSQL в Windows оплачивает дополнительные накладные расходы по сравнению с другими решениями из-за компромиссов, сделанных при его переносе.

Например, PostgreSQL использует процесс для каждого соединения, MySQL использует Тема. В Unix это обычно не является заметной разницей в производительности, но в Windows создание новых процессов очень дорого (из-за отсутствия системного вызова fork ()). По этой причине использование постоянных подключений или пула подключений намного важнее в Windows при использовании PostgreSQL.

Еще одна проблема, которую я видел, заключается в том, что ранние версии PostgreSQL в Windows по умолчанию будут обеспечивать запись проходят через кеш записи - даже если он работает от батареи. AFAIK, MySQL не делает этого, и это сильно повлияет на производительность записи. Сейчас, это действительно необходимо, если у вас небезопасное оборудование, например дешевый накопитель. Но если у вас есть кэш записи с резервным питанием от батареи, вы хотите изменить его на обычный fsync. Современные версии PostgreSQL (конечно, 8.3) вместо этого по умолчанию будут использовать open_datasync, что должно устранить эту разницу.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы посоветовал написать письмо в список рассылки pgsql-general.

Но если у вас есть кэш записи с резервным питанием от батареи, вы хотите изменить его на обычный fsync. Современные версии PostgreSQL (конечно, 8.3) вместо этого по умолчанию будут использовать open_datasync, что должно устранить эту разницу.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы посоветовал написать письмо в список рассылки pgsql-general.

Но если у вас есть кэш записи с резервным питанием от батареи, вы хотите изменить его на обычный fsync. Современные версии PostgreSQL (конечно, 8.3) вместо этого по умолчанию будут использовать open_datasync, что должно устранить эту разницу.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы предложил электронное письмо в список рассылки pgsql-general.

вы хотите изменить его на обычный fsync. Современные версии PostgreSQL (конечно, 8.3) вместо этого по умолчанию будут использовать open_datasync, что должно устранить эту разницу.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы посоветовал написать письмо в список рассылки pgsql-general.

вы хотите изменить его на обычный fsync. Современные версии PostgreSQL (конечно, 8.3) вместо этого по умолчанию будут использовать open_datasync, что должно устранить эту разницу.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы предложил электронное письмо в список рассылки pgsql-general.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы предложил электронное письмо в список рассылки pgsql-general.

Вы также ничего не упоминаете о том, как вы настроили конфигурацию базы данных. По умолчанию, файл конфигурации, поставляемый с PostgreSQL, очень консервативен. Если вы там ничего не меняли, вам обязательно нужно взглянуть на это. В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы предложил электронное письмо в список рассылки pgsql-general.

В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы посоветовал написать письмо в список рассылки pgsql-general.

В вики PostgreSQL есть несколько советов по настройке.

Чтобы дать дополнительные сведения, вам нужно будет предоставить гораздо больше подробностей о том, что именно работает медленно и как вы настроили свою базу данных. Я бы посоветовал написать письмо в список рассылки pgsql-general.

21
ответ дан 1 December 2019 в 20:57
поделиться

PostgreSQL уже работает медленнее MySQL до определенного момента (на самом деле он быстрее, когда у вас смехотворно большая база данных). К вашему сведению, это не вызывает вашей проблемы, но имейте это в виду.

0
ответ дан 1 December 2019 в 20:57
поделиться

Хотя порт PostgreSQL для Windows появился сравнительно недавно, я понимаю, что он работает примерно так же, как и другие версии. Но это определенно порт; почти все разработчики работают в основном или исключительно с Unix / Linux / BSD.

Вам действительно не следует запускать 8.2 в Windows. На мой взгляд, 8.3 была первым выпуском Windows, действительно готовым к работе; 8.4 еще лучше. В любом случае версия 8.2 довольно устарела, и вы получите несколько преимуществ, если сможете обновить ее.

Еще одна вещь, которую следует учитывать, - это настройка. PostgreSQL требует большей настройки, чем MySQL, для достижения оптимальной производительности. Вы можете отправить сообщение в один из списков рассылки , чтобы получить помощь не только в базовой настройке.

7
ответ дан 1 December 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: