Intellect Board — cистема управления сайтомПостроение сайта на основе форума |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » PostgreSQL |
Правила раздела |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 12 13 14 15 16 17 18 Модераторы: aerograf, wsx | Печать |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
Исправления внес, дистрибутив выложил. Если все будет Ok, то в ближайшее время выложу еще UTF-8 версию... ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
-KoT- |
Когда перетаскивал базу с MySQL для тестирования на PostgreSQL, написал такой скриптик (Perl) для конвертации backup-файла в формат Postgre (для залива в свежеустановленный форум): #!/usr/bin/perl После залива данных в базу нужно переустановить дополнительные стили.Если это переложить на php, можно при выборе PosgreSQL в install.php добавить пункт для восстановления базы из архива MySQL |
-KoT- |
Сегодня наконец перевёл "боевой" форум на PostgreSQL (FreeBSD 6.1, Apache 2.0.55, PosgtreSQL 8.1.3). Пока полет нормальный... |
wsx |
-KoT- Оффтопик: А почему Апач второй ? ИМХО он тежелее первого, а первый пока ещё устраивает вроде как всех... ---
Не всё так просто, как на самом деле! |
-KoT- |
wsx Оффтопик: Более эффективная работа с памятью, фильтрующие модули, PCRE. Нормальная работа SSL, поддержка LDAP (у меня на Апаче не только форум крутится, но и выполняются более другие задачи). Личные предпочтения в конце концов... |
-KoT- |
В функцию db_backup() попала "копи-паст" ошибка - вместо $row[$i]=str_replace("\n","\\n",mysql_real_escape_string($row[$i])); должно быть $row[$i]=str_replace("\n","\\n",pg_escape_string($row[$i])); Сразу не заметил, потому что на тестовом сервере помимо PostgreSQL стоял и MySQL, который и обрабатывал mysql_real_escape_string(). |
-KoT- |
Почти месяц форум крутится на PostgreSQL — устойчиво, без глюков. Как ни странно — заметно быстрее, чем на MySQL, хотя усилия по оптимизации SQL-сервера были незначительны. Устойчивость на высоте — сказывается железобетонная надежность Postgre. К коду форума в отношении PostgreSQL претензий тоже нет — за все время обнаружена только одна ошибка — обнуление количества сообщений участников при пересчете статистики, вылечилось заменой $sql = "INSERT INTO ".$GLOBALS['DBprefix']."UserStat SET uid=".$udata['p_uid'].", fid=".$udata['t_fid'].", us_count=".$udata['ucount']; на $sql = "INSERT INTO ".$GLOBALS['DBprefix']."UserStat (uid,fid,us_count) VALUES (".$udata['p_uid'].",".$udata['t_fid'].",".$udata['ucount'].")"; в файле /admin/stats.php, строка 427.IMHO, связка IntB-PostgreSQL является предпочтительной при наличии своего сервера (например, локальная, кампусная сеть и т.п.) |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
-KoT- написал: Как ни странно — заметно быстрее, чем на MySQL, хотя усилия по оптимизации SQL-сервера были незначительны. Странного тут ничего нет — в PostgreSQL используется блокировка на уровне строк, а не таблиц, за счет чего и происходит такое ускорение. Это происходит от того, что в IntB активно используются запросы, связывающие по несколько таблиц сразу, при которых из каждой таблицы берется одна запись (особенно большая нагрузка приходится на таблицу prefix_User). ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
-KoT- |
Думается, что дело не в row-level lock — SELECT'ы её не используют (за исключением SELECT FOR UPDATE), кроме того, ускорение наблюдается и в отсутствии конкурирующих сессий. Скорее всего дело в более "умном" планировщике запросов — он эффективнее работает с индексами, при необходимости преобразует их в битовые маски, сканирование которых идёт гораздо быстрее — что в силу специфики IntB: XXXX Pro написал: и дает заметный прирост производительности в IntB активно используются запросы, связывающие по несколько таблиц сразу, при которых из каждой таблицы берется одна запись P.S. Всё это говорит о том, что в базе IntB весьма удачно спланированы индексы |
wsx |
Так же наверное стоит отметить, что постгрес более грамотными людьми писался Всё таки Берклийский продукт, а это уже что-то значит. Что касается производительности то пожалуй у постгреса есть два минуса. Он медленнее работает с Апдейтами (UPDATE) и его ахилесова пята - select count(*) from table; з.ы. Кто нить видел Makefile от MySQL ? Товарищь говорит, что там есть параметр -O9 ))) p.s.s: Так же для оптимизации Постгреса советую в postgresql.conf (который находится в дата директории) изменить fsync =on на fsync = false. (именно false, почему - не знаю). тогда Данные будут сюнкаться с ФС только по оканчании транзакции, а не постоянно. ---
Не всё так просто, как на самом деле! |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 12 13 14 15 16 17 18 Модераторы: aerograf, wsx | Печать |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » PostgreSQL |
1 посетитель просмотрел эту тему за последние 10 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
Ограничение доступа не отображаются разделы Архив версий Установка стиля на Intellect Board 2.22 Завершилась работа над новой версией 3.00 |
Самые активные 5 тем | |