-
Notifications
You must be signed in to change notification settings - Fork 200
Update render queue limits #152
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
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -70,17 +70,18 @@ | |||||||
| //Legacy - not needed on new installs | ||||||||
| //#undef METATILEFALLBACK | ||||||||
|
|
||||||||
| // Metatiles are much larger in size so we don't need big queues to handle large areas | ||||||||
| // Typical osm.org render server can render 7 metatiles per second, and has average load of 4.5 metatiles per second. | ||||||||
| // Queue depth of (7 - 4.5) * 86400 = 216000 moves the load from the busy part of the day to the night time | ||||||||
| #ifdef METATILE | ||||||||
| #define QUEUE_MAX (64) | ||||||||
| #define REQ_LIMIT (32) | ||||||||
| #define DIRTY_LIMIT (1000) | ||||||||
|
|
||||||||
| #define DIRTY_LIMIT (216000) | ||||||||
| #define HASHIDX_SIZE (477856) | ||||||||
| #else | ||||||||
| #define QUEUE_MAX (1024) | ||||||||
| #define REQ_LIMIT (512) | ||||||||
| #define DIRTY_LIMIT (10000) | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't the non-metatile limit be higher than the metatile limit? |
||||||||
| #define HASHIDX_SIZE 22123 | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This line is no-op. Line 39 in 62c4a5a
and redefined here: mod_tile/includes/request_queue.h Line 31 in 62c4a5a
(see includes order in Line 29 in 62c4a5a
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So does the hash table have 2213 buckets? or 22123 buckets? Not that either is anywhere big enough once you have a two million entry queue - that will give an average chain length of either 100 or 1000 either of which seems way too large. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seems like somebody wants to increase HASHIDX_SIZE from default 2213 to 22123 when METATILE is not defined. But it's so ugly and include order dependent that should be fixed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @tomhughes I've updated numbers to match ratio. @vng I've updated |
||||||||
| #define HASHIDX_SIZE (22123) | ||||||||
| #endif | ||||||||
|
|
||||||||
| // Penalty for client making an invalid request (in seconds) | ||||||||
|
|
||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is a higher HASHIDX_SIZE needed for with metatiles?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to @gardster, this is not required and is redefined anyway later. I did it by analogy to the below. It looks like it's safe to remove both.