Editing Globalhardlimit
From EMule Wiki
Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to cut-n-paste the text into a text file and save it for later.
The administrator who locked it offered this explanation: site maintenance
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 5: | Line 5: | ||
== Background == | == Background == | ||
− | Every source you have for a file must be requeried every 29 minutes (59 minutes max) other peer will consider you not any more on the network (timeout). | + | Every source you have for a file must be requeried every 29 minutes (59 minutes max) other peer will consider you not any more on the network (timeout). How |
+ | ever this querying costs overhead and computer are limited in the amount of connection it can make per second(limits in the tcp/ip stack of windows and/or routers on the way). Also A little bit of memory for each source you download form must be kept. eMule does this efficient, but still there is a upper limit of the amount of sources you can keep track off. Without global hardlimit the limit of sources is defined per file. With global hardlimit a total limit of number of sources is set instead per file. | ||
This way you don't have to pause files to download a lot of files, you will just get less sources per files. This way rare files are started sooner, but well distributed files might take a bit longer to download. Also it might help stability of your download. | This way you don't have to pause files to download a lot of files, you will just get less sources per files. This way rare files are started sooner, but well distributed files might take a bit longer to download. Also it might help stability of your download. | ||
Line 18: | Line 19: | ||
A more precise description how the system works: | A more precise description how the system works: | ||
− | + | i'll start on startup. since the global source count is 0 here all files are initialized at 100. every 50 seconds from that time on the main function will be run. if the src count (global) is too low we keep on increasing all files hardlimit. the limit per file will be increased like this: | |
IncrValue = ([GHL value] - [Global source count]) / [number of files]) | IncrValue = ([GHL value] - [Global source count]) / [number of files]) | ||
Line 26: | Line 27: | ||
HL + IncrValue | HL + IncrValue | ||
− | As soon as we reach the lower tollerance border (95% GHL) we enable the passive mode and set a passive HL. | + | As soon as we reach the lower tollerance border (95% GHL) we enable the passive mode and set a passive HL. the passive HL means we calculate a new IncrValue like this: |
IncrValue = ([105% GHL value] - [Global source count]) / [number of files]) | IncrValue = ([105% GHL value] - [Global source count]) / [number of files]) | ||
− | This InrcValue is added to every files source count for the new | + | This InrcValue is added to every files source count for the new hl. We basicly give the hl some tollerance to work properly. Anyhow we will not exceed the GHL. |
− | In case we did exceed the GHL we disable the passive mode, which basicly only checks if everything's allright every 5 minutes, change back to the 50 sec cycle and keep on setting every files HL to the source count value. Since source dropping starts when the source count exceeds 80% of the HL we can be sure one FQ or NNS source is dropped every 40 sec. This way we do not waste any sources at all but it's kinda slow, though. We could drop other "good" sources | + | In case we did exceed the GHL we disable the passive mode, which basicly only checks if everything's allright every 5 minutes, change back to the 50 sec cycle and keep on setting every files HL to the source count value. Since source dropping starts when the source count exceeds 80% of the HL we can be sure one FQ or NNS source is dropped every 40 sec. This way we do not waste any sources at all but it's kinda slow, though. We could drop other "good" sources, too but this would either (probably) waste really good sources (like QR: 5) or be really complex (in order to decide what's good and what's not). |
− | The value is initialized in the wizard | + | The value is initialized in the wizard |
− | In the network wizard where you set your upload/download speed a value for the global hard limit is | + | In the network wizard where you set your upload/download speed a value for the global hard limit is inittialized based on your upload speed. Don't set values below 1000, it is not tuned for this. A value of 4000-5000 will fit many people. Do not set a very high value. |
− | + | [[category:features]][[category:Stullemulefeatures]][[Category:Morphxtfeatures]] | |
− | + | ||
− | [[ | + |