Replies: 16 comments 48 replies
-
Hello Andrei, First of all, you did not conducted a test: you just create useless ticket which distracts attention of Firebird developers from the real problems. In your ticket, there is lack of very important details to reproduce a test:
If you are now aware about principles how to calculate the configuration, please use Configuration Calculator For Firebird to create optimized configurations for the specified hardware, for Super and Classic/SuperClassic. If you really want to bring the value to Firebird development, please repeat the tests with optimized configurations, supply all requested information, and submit it for investigation. I will bet a bottle of best zubrowka that SuperServer will win. Regards, |
Beta Was this translation helpful? Give feedback.
-
First, you should familiarize yourself with how the For the purity of the experiment, it is better to return this parameter to the default value of 1. And compare using the |
Beta Was this translation helpful? Give feedback.
-
I have converted this to a discussion, because as Alexey points out, this wasn't really an issue/ticket. |
Beta Was this translation helpful? Give feedback.
-
What buffers number isn't "extreme" in this case? 100_000? 10_000? I thought the reason to use SuperServer is to have buffer large enough to fit all frequent data. We tried 16K, 32K pages as soon as they were introduced and never had a positive effect on our real life cases. But, any way, I will try it right now. So, Parallel Workers = 1 Let's see how it will behave. |
Beta Was this translation helpful? Give feedback.
-
If database restore is a main task for your server then Classic may be a right choice but usually Firebird is employed for much wider variety of operations. |
Beta Was this translation helpful? Give feedback.
-
I see. I explain why backup/restore is a crucial point for us. The database is used with large enterprise, where we are allowed only 2-3 maintenance windows per year of 8-12 hours each. Every hour of unexpected downtime could cost USD 100K+. It is obvious that management is very concerned about how fast operability could be restored in case of unexpected events. We have fbackup every two hours on a separate server. But, we are considering every scenario and in our history there were cases when database got corrupted and we needed to gfix it and then do full backup restore. Once it was because of a bug in FB 3.0 SuperServer and we never tried and wouldn't ever try SuperServer again, because we had great problems that time. When there are up to 400 simultaneous connections it is hard task to say 400 workers that they need to reenter some data or recheck their whole daily work. PS: BTW, 2:20 for the database restoring time we get with Classic looks great! Now it takes around 8 hours with FB 3.0.9. |
Beta Was this translation helpful? Give feedback.
-
@hvlad I have turned on file system cache for the SuperServer, but result is the same. I used switch -st, but there aren't statistics in the output file. There is a content:
is The whole command line is here:
|
Beta Was this translation helpful? Give feedback.
-
Seriously? Is this parameter written exactly like that?
??? |
Beta Was this translation helpful? Give feedback.
-
Hello All, I would recommend for everybody stop discussing until the all requested information will be provided, in order to have a productive discussion. Regards, |
Beta Was this translation helpful? Give feedback.
-
I'm unclear on why it's necessary to limit the number of Parallel Workers to 1 when utilizing the Super Server. This seems counterintuitive and warrants clarification within the firebird.conf settings. |
Beta Was this translation helpful? Give feedback.
-
So, I'm going to do two tests with a verbose output. Classic Super All other parameters are equal. File system cache is enabled. Temp cache limit is set to 32GB. Any objections? |
Beta Was this translation helpful? Give feedback.
-
????? |
Beta Was this translation helpful? Give feedback.
-
Now, I get confused. So, I'm going to set these values in firebird.conf:
and use the same command line for SuperServer and Classic testing. I'll use page 8192 (As I have tested above there is no significant difference between 8192 and 16384, so I stick with what we use for last 25 years). I'll use 500 buffers. For both runs, I'll grab the stats. |
Beta Was this translation helpful? Give feedback.
-
On Fri, 05 Apr 2024 04:43:24 -0700 Mark Rotteveel ***@***.***> wrote:
> I could set even more, but default threshold is 64K and this would turn
> off file system caching.
If `UseFileSystemCache` is set to `true` explicitly, then
`FileSystemCacheThreshold` is ignored (the docs are unclear about the
effects if neither is set explicitly, but I think that `UseFileSystemCache`
is inferred to true, and `FileSystemCacheThreshold` is then ignored).
No - it is the other way round. If UseFileSystemCache is commented and
DBCachePages exceeds FileSystemCacheThreshold then the file system cache is
disabled. This goes against the expectation that the uncommented value is the
default.
Paul
--
Paul Reeves
https://www.ibphoenix.com
Supporting users of Firebird
|
Beta Was this translation helpful? Give feedback.
-
Firebird 5.0.1.1738 x64 firebird.conf ServerMode = Super ServerMode = Classic |
Beta Was this translation helpful? Give feedback.
-
So, I did five additional runs on the same machine. Before every run, I had the service restarted. The
All other parameters are commented, i.e., have default values. I have put results in the table at the beginning of the thread. Duplicating them here:
The statistics per run: classic_500.txt |
Beta Was this translation helpful? Give feedback.
-
UPDATED after changes were made by Vlad:
I have conducted a test:
firebird.conf
Until overridden by the values specified in the table below, the following settings were applied to the firebird.conf.:
Command
Results
firebird.conf
Conclusion
The Super Server is not only less robust and reliable than the Classic Server, but it also performs much worse. So, why do we offer it as the default mode? This greatly harms Firebird because many users do not bother to make adjustments in the Firebird configuration file, and therefore end up with a worse experience.
Beta Was this translation helpful? Give feedback.
All reactions