Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update default firebird.conf settings to better reflect modern average hardware capatabilities [CORE6235] #6479

Open
firebird-automations opened this issue Jan 20, 2020 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @luronumen

ACTUAL RESULT
- The Firebird is not using the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company. See: https://ib-aid.com/en/optimized-firebird-configuration/

EXPECTED RESULT:
- The Firebird should use the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company. See: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit.conf

=========================================================================
DefaultDbCachePages = "100K" instead of "2048"
FileSystemCacheThreshold = "2M" instead of "64K"
TempBlockSize = "2M" instead of "1M"
TempCacheLimit = "1000M" instead of "64M"
AuthServer = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp"
AuthClient = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp, Srp256, Win_Sspi, Legacy_Auth"
UserManager = "Legacy_UserManager, Srp" instead of "Srp"
LockMemSize = "15M" instead of "1M"
LockHashSlots = "30011" instead of "8191"

@firebird-automations
Copy link
Collaborator Author

Modified by: @luronumen

description: ACTUAL RESULT
- The Firebird is not using the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company (See: https://ib-aid.com/en/optimized-firebird-configuration/)

EXPECTED RESULT:
- The Firebird should use the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company (See: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit.conf)

=========================================================================
DefaultDbCachePages = "100K" instead of "2048"
FileSystemCacheThreshold = "2M" instead of "64K"
TempBlockSize = "2M" instead of "1M"
TempCacheLimit = "1000M" instead of "64M"
AuthServer = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp"
AuthClient = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp, Srp256, Win_Sspi, Legacy_Auth"
UserManager = "Legacy_UserManager, Srp" instead of "Srp"
LockMemSize = "15M" instead of "1M"
LockHashSlots = "30011" instead of "8191"

=>

ACTUAL RESULT
- The Firebird is not using the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company. See: https://ib-aid.com/en/optimized-firebird-configuration/

EXPECTED RESULT:
- The Firebird should use the Optimized Configurations for the average hardware with an average load by Default according to the IB Surgeon company. See: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit.conf

=========================================================================
DefaultDbCachePages = "100K" instead of "2048"
FileSystemCacheThreshold = "2M" instead of "64K"
TempBlockSize = "2M" instead of "1M"
TempCacheLimit = "1000M" instead of "64M"
AuthServer = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp"
AuthClient = "Legacy_Auth, Srp, Win_Sspi" instead of "Srp, Srp256, Win_Sspi, Legacy_Auth"
UserManager = "Legacy_UserManager, Srp" instead of "Srp"
LockMemSize = "15M" instead of "1M"
LockHashSlots = "30011" instead of "8191"

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

summary: Firebird should use the Optimized Configurations for the average hardware with an average load by Default => Update default firebird.conf settings to better reflect modern average hardware capatabilities

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

priority: Major [ 3 ] => Minor [ 4 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @mrotteveel

The suggested AuthServer and AuthClient configuration are insecure and should definitely not be the default. You should not trade in security for better performance unless you know what you're doing. The performance impact of the extra roundtrips for Srp can be mitigated by using a connection pool.

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

What is the rationale behind your expectations? The Firebird project intentionally uses the current defaults because they're suitable for any application, including the embedded ones. And these defaults are being updated every few years to better fit the realities. In turn, IBSurgeon deals with dedicated server installations and supports middle- and high-end databases, hence the other defaults suggested.

@firebird-automations
Copy link
Collaborator Author

Commented by: @luronumen

Hi Dmitry,
Thank you very much for your reply.
I noticed that IBSurgeon updated the conf files and now the HW settings and the number of databases and people who will access these databases are taken into account.

My suggestion is that the FirebirdSQL installer can collect this information during the installation process to define the best configuration:

Amount of system memory (Detected by the Firebird installer)
a) <= 12GB
b) >= 16GB

Questions to ask when installing Firebird:
1) How many databases will be managed?
c) <10
d)> >=10
2) How many users will access the databases?
e) <=150
f) >150

Suggested default configuration based on the responses mentioned above:
ace: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit_ram8gb.conf
acf: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit_ram8gb.conf
ade: https://ib-aid.com/download/firebirdconf/firebird_30_superclassic_64bit_8Gb.conf
adf: https://ib-aid.com/download/firebirdconf/firebird_30_superclassic_64bit_8Gb.conf
bce: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit_ram16gb.conf
bcf: https://ib-aid.com/download/firebirdconf/firebird_30_superserver_64bit_ram16gb.conf
bde: https://ib-aid.com/download/firebirdconf/firebird_30_superclassic_64bit_8Gb.conf
bdf: https://ib-aid.com/download/firebirdconf/firebird_30_superclassic_64bit_16Gb.conf

Best Regards,
Luciano

@firebird-automations
Copy link
Collaborator Author

Commented by: @reevespaul

This is definitely not the business of the installer.
But we could include several different conf files in, say, the examples directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant