Перейти до

Stg-2.404 и Freebsd 7


Рекомендованные сообщения

В общем, я так

По поводу Firebird vs. MySQL: все зависит от размеров базы. Если у тебя больше 300 юзеров и есть активные "качальщики" - советую Firebird. Кроме того у мускула (у плагина) есть проблемы на многопроцессорных машинах.

А кто собсно проводил краш-тесты мускуля+стг? Может, стоит просто оттюнинговать мускуль?

Ссылка на сообщение
Поделиться на других сайтах

Креш-тесты тут не при чем. Если навернуть молотком по рейду - то и он посыпется.

Проблемы в архитектуре модуля. Я выше кинул ссылку - там было обсуждение в теме немного ранее.

Ссылка на сообщение
Поделиться на других сайтах

Ладно, вернемся к нашим баранам.

Буду пытаться работать с Firebird.

 

Если люди работали, нельзя ли настройки Firebird сюда.

 

В inetd.conf есть строчка:

gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server

Вроде путь указан верно...

 

В service тоже есть строчка про 3050 порт

gds_db 3050/tcp #InterBase Database Remote Protocol

gds_db 3050/udp #InterBase Database Remote Protocol

 

В файле /usr/local/etc/firebird/firebird.conf что должно быть?????????

 

Пробовал его редактировать

# Specify the root directory under which Firebird is installed.

# Can be used to override the OS-specifically determined one.

#

# Type: string

#

#RootDirectory = /var/db/firebird

RootDirectory = /usr/local

 

Как я понял, здесь надо указать директорию, куда установился firebird или что?

Пробовал вариант по умолчанию (закомментирован) и /usr/local.

 

DatabaseAccess = Full - тут вроде все понятно

 

# ----------------------------

# External File Paths/Directories

#

# ExternalFileAccess may be None, Full or Restrict. If you choose

# Restrict, provide ';'-separated trees list, where external files

# are stored. Relative paths are treated relative to RootDirectory entry

# (see above). Default value 'None' disables any use of external files

# on your site. To specify access to specific trees, enum all required

# paths (for Win32 this may be something like 'C:\ExternalTables',

# for unix - '/db/extern;/mnt/extern').

#

# NOTE: THE EXTERNAL TABLE ENGINE FEATURE COULD BE USED TO COMPROMISE

# THE SERVER/HOST AS WELL AS DATABASE SECURITY!!

#

# IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT

# EXTERNAL TABLE LOCATIONS!

#

# Type: string (special format)

#

ExternalFileAccess = Full - вот здесь не совсем понятно, что нужно писать.....

 

# ----------------------------

# External Function (UDF) Paths/Directories

#

# UdfAccess may be None, Full or Restrict. If you choose

# Restrict, provide ';'-separated trees list, where UDF libraries

# are stored. Relative paths are treated relative to RootDirectory entry

# (see above). Default value 'Restrict UDF' provides the same restrictions

# as in FB 1.0. To specify access to specific trees, enum all required

# paths (for Win32 this may be something like 'C:\ExternalFunctions',

# for unix - '/db/extern;/mnt/extern').

#

# NOTE: THE EXTERNAL FUNCTION ENGINE FEATURE COULD BE USED TO COMPROMISE

# THE SERVER/HOST AS WELL AS DATABASE SECURITY!!

#

# IT IS STRONGLY RECOMMENDED THAT THIS SETTING BE USED TO LIMIT

# EXTERNAL FUNCTION LOCATIONS!

#

# Type: string (special format)

#

UdfAccess = Restrict /usr/local/libexec/firebird/udf - тоже не совсем понятно

 

# ----------------------------

# Temporary directories

#

# Provide ';'-separated trees list, where temporary files are stored.

# Relative paths are treated relative to RootDirectory entry

# (see above). Default value is determined using FIREBIRD_TMP,

# TEMP or TMP environment options. Every directory item may have optional

# size argument to limit its storage, this argument follows the directory

# name and must be separated by at least one space character. If the size

# argument is omitted or invalid, then all available space in this

# directory will be used.

#

# E.g.:

# TempDirectories = c:\temp

# or

# TempDirectories = c:\temp;d:\temp

# or

# TempDirectories = c:\temp 100000000;d:\temp 500000000;e:\temp

#

# Type: string (special format)

#

TempDirectories = /tmp - надеюсь, эту опцию я понял :)

 

 

 

Далее идут стандартные опции, все стоит по умолчанию.

# Legacy hash makes possible use of old security.fdb

# after running misc/upgrade/security_database.sql.

# If you want to disable logons with old passwords

# after users' migration, set it to 0 (false).

# Makes no difference when used with original

# security2.fdb - it can't contain DES hash.

#

# Type: boolean

#

LegacyHash = 1

 

# ----------------------------

# Number of cached database pages

#

# This sets the number of pages from any one database that can be held

# in cache at once. If you increase this value, the engine will

# allocate more pages to the cache for every database. By default, the

# SuperServer allocates 2048 pages for each database and the classic

# allocates 75 pages per client connection per database.

#

# Type: integer

#

DefaultDbCachePages = 2048

 

 

# ----------------------------

# In-memory sorting module

#

# The amount of memory allocated for each sort block.

#

# Type: integer

#

SortMemBlockSize = 1048576

 

#

# The maximum amount of memory to be allocated by the in-memory

# sorting module.

#

# For Classic servers, this setting is defaulted to 8 MB.

# Although it can be increased, the value applies to each client

# connection/server instance and thus consumes a lot of memory.

#

# Type: integer

#

SortMemUpperLimit = 67108864

 

 

# ----------------------------

# Backward-compatible parameter ordering as it was in FB v1/IB

#

# Type: boolean

#

OldParameterOrdering = 0

# Boolean evaluation method (complete or shortcut)

#

# If your SQL code depends on side-effects of full evaluation of OR

# and AND statements (right-hand-side terms), even if the expressions

# final result could be determined by just examining the value of the

# first term, you might need to turn this on.

#

# Type: boolean

#

CompleteBooleanEvaluation = 0

 

 

# ----------------------------

#

# Determines the number of seconds that the lock manager will wait after a

# conflict has been encountered before purging locks from dead processes

# and doing extra deadlock scan cycle. Engine detects deadlocks instantly

# in all normal cases, so this value affects things only if something goes

# wrong. Setting it too low may degrade system performance.

#

# Type: integer

#

DeadlockTimeout = 10

 

 

# ----------------------------

#

# How often the pages are flushed on disk

# (for databases with ForcedWrites=Off only)

#

# Number of unflushed writes which will accumulate before they are

# flushed, at the next transaction commit. For non-Win32 ports,

# the default value is -1 (Disabled)

#

# Type: integer

#

MaxUnflushedWrites = 100

 

#

# Number of seconds during which unflushed writes will accumulate

# before they are flushed, at the next transaction commit. For non-Win32

# ports, the default value is -1 (Disabled)

#

# Type: integer

#

MaxUnflushedWriteTime = 5

 

 

# ----------------------------

#

# This option controls whether to call abort() when internal error or BUGCHECK

# is encountered thus invoke post-mortem debugger which can dump core suitable

# for off-line analysis. When disabled engine tries to minimize damage and

# for off-line analysis. When disabled engine tries to minimize damage and

# continue execution.

#

# Note that setting this option to 1 makes engine produce traceable coredumps

# when something nasty like SIGSEGV happens inside UDF. On Windows enabling

# this option makes engine invoke JIT debugger facilities when errors happen.

#

# For debugging builds (DEV_BUILD), default value is 1 (Enabled)

#

# Type: boolean

#

BugcheckAbort = 0

 

 

# Prior to Firebird 1.5 various SELECT expressions generated unnamed

# columns. This did not conform to the SQL standard. Fb 1.5 saw the

# introduction of default aliases for these unnamed columns. In some

# cases, particularly if string concatenation is used (via the ||

# operator) this breaks existing scripts.

#

# This setting will affect aliases generated via CONCATENATION,

# CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP and EXTRACT. Setting

# the value to true will disable the alias generation. It is only

# recommended to be used where legacy scripts need to be supported.

# It will be marked deprecated in Firebird 2.0 and removed in

# Firebird 3.0.

#

# Type: boolean

#

OldColumnNaming = 0

 

 

# ----------------------------

# Client Connection Settings (Basic)

#

# Seconds to wait before concluding an attempt to connect has failed.

#

# Type: integer

#

ConnectionTimeout = 180

 

#

# Seconds to wait on a silent client connection before the server sends

# dummy packets to request acknowledgment.

#

# DO NOT USE THIS OPTION. It may hang or crash Windows on the client side as

# explained here: http://support.microsoft.com/default.aspx?kbid=296265

# or may not prevent eventual inactive client disconnection for other OS.

#

# Normally, Firebird uses SO_KEEPALIVE socket option to keep track of

# active connections. If you do not like default 2-hour keepalive timeout

# then adjust your server OS settings appropriately. On UNIX-like OS's,

# modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,

# follow instrutions of this article:

# http://support.microsoft.com/default.aspx?kbid=140325

#

# Type: integer

#

DummyPacketInterval = 0

 

 

# ----------------------------

# TCP Protocol Settings

#

# The TCP Service name/Port number to be used for client database

# connections.

#

# It is only necessary to change one of the entries, not both. The

# order of precendence is the 'RemoteServiceName' (if an entry is

# found in the 'services.' file) then the 'RemoteServicePort'.

#

# Type: string, integer

#

RemoteServiceName = gds_db

RemoteServicePort = 3050

 

#

# The TCP Port Number to be used for server Event Notification

# messages. The value of 0 (Zero) means that the server will choose

# a port number randomly.

#

# Type: integer

#

RemoteAuxPort = 0

 

#

# TCP/IP buffer size for send and receive buffers of both the client

# and server. The engine reads ahead of the client and can send

# several rows of data in a single packet. The larger the packet size,

# the more data is sent per transfer. Range is 1448 to 32767 (MAX_SSHORT).

#

# Type: integer

#

TcpRemoteBufferSize = 8192

 

#

# Either enables or disables Nagle algorithm (TCP_NODELAY option of

# socket) of the socket connection.

#

# Note: Currently is a default for classic and super servers.

#

# Type: boolean

#

TcpNoNagle = 1

# Allows incoming connections to be bound to the IP address of a

# specific network card. It enables rejection of incoming connections

# through any other network interface except this one. By default,

# connections from any available network interface are allowed.

#

# Type: string

#

#RemoteBindAddress =

 

 

# ----------------------------

# Locking and shared memory parameters

#

# Bytes of shared memory allocated for lock manager.

# In Classic mode, the size given is used for the initial allocation. The

# table expands dynamically up to the limit of memory. In SuperServer, the

# initial size is also the final size.

# Default is 96K on Linux and Solaris, 256K on Windows.

#

# Type: integer

#

LockMemSize = 262144

 

#

# Number of semaphores for interprocess communication.

# In non-threading environments, this sets the number of semaphores

# available

#

# Type: integer

#

LockSemCount = 32

 

#

# When a connection wants to lock an object, it gets a lock request

# block which specifies the object and the lock level requested. Each

# locked object has a lock block. Request blocks are connected to those

# lock blocks either as requests that have been granted, or as pending

# requests.

#

# The settings:

# 1 means locks are granted first come, first served.

# 0 means emulate InterBase v3.3 behavior, where locks are granted

# as soon as they are available; can result in lock request

# starvation.

#

# Type: integer/boolean

#

LockGrantOrder = 1

 

#

# In Classic, only one client process may access the lock table at any

# time. Access to the lock table is governed by a mutex. The mutex can

# be requested conditionally - a wait is a failure and the request must

# be retried - or unconditionally - the request will wait until it is

# satisfied. This parameter establishes the number of attempts that

# will be made conditionally. Zero value means unconditional mode.

# Relevant only on SMP machines.

#

# Type: integer

#

LockAcquireSpins = 0

 

#

# Tune lock hash list; more hash slots mean shorter hash chains. Only

# necessary under very high load. Prime number values are recommended.

#

# Type: integer

#

LockHashSlots = 101

 

# ----------------------------

#

# Bytes of shared memory allocated for event manager.

#

# Type: integer

#

EventMemSize = 65536

 

 

# ===========================

# SuperServer Engine Settings

# ===========================

#

# ----------------------------

# Which CPUs should be used (Windows Only)

#

# In an SMP system, sets which processors can be used by the server.

# The value is taken from a bit map in which each bit represents a CPU.

# Thus, to use only the first processor, the value is 1. To use both

# CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value

# is 6. The default value is 1.

#

# Type: integer

#

CpuAffinityMask = 1

 

 

# ----------------------------

# Settings for the thread scheduler (Windows Only)

#

# If you have problems with computer response time, running firebird

# on workstation, turn off thread scheduler.

#

# Type: boolean

#

UsePriorityScheduler = 1

 

#

# The wait time, in milli-seconds (ms), before the priority of:

# - an active thread is reduced to 'Low', or

# - an inactive thread is increased to 'High'

#

# Note: The default value was chosen based on experiments on Intel

# PIII/P4 processors. It should be increased for using in the computer

# with lower speed processors.

#

# Type: integer

#

PrioritySwitchDelay = 100

 

#

# Number of additional 'intervals' given to a 'High' priority thread.

#

# Type: integer

#

PriorityBoost = 5

 

# ----------------------------

# Garbage collection policy

#

# Defines how engine does garbage collection. Valid values are :

# cooperative

# background

# combined

#

# Superserver has by default "combined" policy

# Classic has by default "cooperative" policy.

# Other values are ignored by classic server build

#

# Type: string (special format)

#

GCPolicy = combined

 

 

# ==============================

# Classic Server Engine Settings

# ==============================

#

 

 

# ==============================

# Settings for Windows platforms

# ==============================

#

# ----------------------------

# Does the guardian restart the server every time it crashes?

# 0 - only start the engine/service once

# 1 - always restart the engine/service if it terminates

#

 

# Priority level/class for the server process.

#

# The values are:

# 0 (Zero) - normal priority,

# positive value - high priority (same as -B command line option)

# negative value - low priority.

#

# Note: All changes to this value should be carefully tested to ensure

# that engine is more responsive to requests.

#

# Type: integer

#

ProcessPriorityLevel = 0

 

 

# ----------------------------

# Local Connection Settings

#

# The name of the shared memory area used as a transport channel in local protocol.

# Note that the local protocol in v2.0 is not compatible with any previous version

# if Firebird or InterBase.

#

# IMPORTANT! If your host OS is Vista or you are running Windows 2003 or

# Windows XP with terminal services enabled, and you need the local connection

# to work, you should prefix the below value with "Global\", i.e. it should

# be "Global\FIREBIRD". Please note that the prefix is case-sensitive.

#

# Type: string

#

IpcName = FIREBIRD

 

#

# The name of the pipe used as a transport channel in NetBEUI protocol.

# Has the same meaning as a port number for TCP/IP. The default value is

# compatible with IB/FB1.

#

# Type: string

#

RemotePipeName = interbas

 

# ============================

# Settings for Unix/Linux platforms

# ============================

#

#

# UNIX signal to use for interprocess communication

#

# Type: integer

#

LockSignal = 16

# ----------------------------

# Remove protection against opening databases on NFS mounted volumes

#

# ***WARNING*** ***WARNING*** ***WARNING*** ***WARNING***

#

# This option removes an important safety feature of Firebird and can

# cause irrecoverable database corruption. Do not use this option unless

# you understand the risks and are prepared to accept the loss of the

# contents of your database.

# Unless this configuration option is changed from 0 to 1, Firebird can

# open a database only if the database is stored on a drive physically

# attached to the local computer - the computer running that copy of

# Firebird. Requests for connections to databases stored on NFS mounted

# drives are redirected to a Firebird server running on the computer that

# "owns" the disk.

# This restriction prevents two different copies of Firebird from opening

# the same database without coordinating their activities. Uncoordinated

# access by multiple copies of Firebird will corrupt a database. On a local

# system, the system-level file locking prevents uncoordinated access to

# the database file.

# NFS does not provide a reliable way to detect multiple users of a file on

# an NFS mounted disk. If a second copy of Firebird connects to a database on

# an NFS mounted disk, it will corrupt the database.

# Under some circumstances, running a Firebird server on the computer that

# owns NFS mounted volumes is inconvenient or impossible. Applications that

# use the "embedded" variant of Firebird and never share access to a database

# can use this option to permit direct access to databases on NFS mounted

# volumes.

# DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

#

# Type: boolean

#

RemoteFileOpenAbility = 0

# ----------------------------

# Remove protection against redirecting requests to other servers

#

# ***WARNING*** ***WARNING*** ***WARNING*** ***WARNING***

#

# Ability to redirect requests to other servers was initially present

# in Interbase, but was broken by Borland in Interbase 6.0, when

# they added SQL dialects. Request redirection was fixed in firebird 2.0,

# but today such behaviour (proxy) seems to be dangerous from security

# point of view. Imagine, you have one carefully protected firebird server,

# access to which is possible from global net. But in case when this server

# has access to your internal LAN (may and should be restricted,

# but often possible), it will work as a gateway for incoming requests like:

# firebird.your.domain.com:internal_server:/private/database.fdb

# It's enough to know name/IP of some internal server on your LAN, and for

# this connection one even need not know login/password on external server.

# Such gateway easily overrides firewall, installed to protect your LAN

# from outside attack.

#

# DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.

#

# Type: boolean

#

Redirection = 0

 

#######################################

#

# KB to Bytes Conversion table

#

#######################################

#

# KB Bytes KB Bytes

# ---- --------- ---- ---------

# 1 1024 32 32768

# 2 2048 64 65536

# 4 4096 128 131072

# 8 8192 256 262144

# 16 16384 512 524288

#

#######################################

#

# MB to Bytes Conversion table

#

#######################################

#

# MB Bytes MB Bytes MB Bytes

# --- --------- --- ----------- --- -----------

# 1 1048576 64 67108864 448 469762048

# 2 2097152 128 134217728 512 536870912

# 4 4194304 192 201326592 640 671088640

# 8 8388608 256 268435456 768 805306368

# 16 16777216 320 335544320 896 939524096

# 32 33554432 384 402653184 1024 1073741824

 

 

При установке Stargazera ошибка:

 

...

cat ./inst/var/stargazer/../00-base-00.sql >> .db.sql

/usr/local/bin/isql -i .db.sql

Use CONNECT or CREATE DATABASE to specify a database

Statement failed, SQLCODE = -902

cannot attach to password database

After line 0 in file .db.sql

Statement failed, SQLCODE = -902

cannot attach to password database

After line 2 in file .db.sql

Statement failed, SQLCODE = -902

cannot attach to password database

After line 3 in file .db.sql

Statement failed, SQLCODE = -902

cannot attach to password database

After line 56 in file .db.sql

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

Use CONNECT or CREATE DATABASE to specify a database

 

Подскажите, что у меня неправильно

 

:bue:

Ссылка на сообщение
Поделиться на других сайтах

1. Файл настроек у меня весь "по умолчанию". Интерес может вызвать только RemoteServicePort (или RemoteServiceName, при чем только одна из них) и то, если тебе нужен какой-то особый порт, и RemoteBindAddress, если тебя не устраивает, что к базе можно подключиться отовсюду.

При чем, если ты укажешь что-то отличное от localhost в RemoteBindAddress - этот самый хост нужно будет прописать и в настройках stg и в файле build. Аналогично и с портом.

2. В ошибках у тебя есть строчка "cannot attach to password database" - это говорит о том, что firebird не может найти свою базу пользователей и провести авторизацию.

Ссылка на сообщение
Поделиться на других сайтах
Креш-тесты тут не при чем. Если навернуть молотком по рейду - то и он посыпется.

Проблемы в архитектуре модуля. Я выше кинул ссылку - там было обсуждение в теме немного ранее.

Тогда тут ИМХО, нужно смотреть в модернизацию модуля, а не съезжать на другие СУБД. Готов помочь материально(около 30-40 уё). Думаю, ищщо кто-то готов.

Ссылка на сообщение
Поделиться на других сайтах
Если я Вас правильно понял, то Вы пользуетесь Stg+Firebird на FreeBSD и все работает?

Нет. FreeBSD я не использую. Но кто-то тут на форуме писал об успешном запуске Stg+Firebird на фре.

Ссылка на сообщение
Поделиться на других сайтах
Тогда тут ИМХО, нужно смотреть в модернизацию модуля, а не съезжать на другие СУБД. Готов помочь материально(около 30-40 уё). Думаю, ищщо кто-то готов.

А никто и не сьезжает. Firebird - это наша разработка. Мы ее поддерживаем. MySQL - сторонняя. Мы ее включили, но вся поддержка лежит на Максе.

Ссылка на сообщение
Поделиться на других сайтах

У меня в файле firebird.log такие ошибки:

 

cs.bgita2.ru Mon Apr 7 20:08:50 2008

inet server err: setting KEEPALIVE socket option

 

 

 

cs.bgita2.ru Mon Apr 7 20:08:50 2008

inet server err: setting NODELAY socket option

 

 

 

cs.bgita2.ru Mon Apr 7 20:08:55 2008

INET/inet_error: read errno = 38

 

 

Как с этим бороться?

Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

скажите, а как вы вот с этим боритесь:

 

user.cpp:1344:11: warning: #warning "TODO: gcc v. 4.x generate ICE on x86_64"

user.cpp:1432:23: warning: #warning "TODO: gcc v. 4.x generate ICE on x86_64"

 

после этих двух сообщений действительно зависает,

хотя и не 64бит система(процесор) -

фря-7 на виртуалписи, на ноуте с интел центрино... :)

Ссылка на сообщение
Поделиться на других сайтах

Эти два сообщения на самом деле ни ошибки ни предупреждения. Это я оставил для напоминания о том, что в данном месте пришлось написать неочевидный код, т.к. старый приводил к краху компилятора на 64-битных системах. Так что они тут совершенно не при чем.

Ссылка на сообщение
Поделиться на других сайтах

я понимаю что это не ошибки, но у меня действительно зависает на процессе компиляции user.cpp

компилятор # gcc -v

Using built-in specs.

Target: i386-undermydesk-freebsd

Configured with: FreeBSD/i386 system compiler

Thread model: posix

gcc version 4.2.1 20070719 [FreeBSD]

фря7

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...