Manual:$wgTransactionalTimeLimit
<translate> Performance hacks and limits</translate>: $wgTransactionalTimeLimit | |
---|---|
Throttle for timing out transactional POST requests |
|
<translate> Introduced in version:</translate> | 1.26.0 (Gerrit change 230265; git #9bba2d16) |
<translate> Removed in version:</translate> | <translate> still in use</translate> |
<translate> Allowed values:</translate> | (integer) |
<translate> Default value:</translate> | 120 |
<translate> Other settings:</translate> <translate> Alphabetical</translate> | <translate> By function</translate> |
Details
Typically, web requests should be rather quick, and PHP tends to have a 30 second default timeout, which is fairly high.
However, MediaWiki can sometimes be very slow with certain operations, such as page saves, and these operations may furthermore involve updates to multiple datastores that ideally should all happen or not happen at all.
All POST requests set ignore_user_abort()
to avoid client-initiated aborts causing half-written data.
Certain requests call a special method that also raises the time limit to $wgTransactionalTimeLimit
to both give the requests a chance to finish (as it might be slow) and to avoid timing out when only some of the writes where done.
By having this value, site admins can use fairly low timeouts to help avoid DOS and wasted threads, but avoid half-written writes due to timeouts at the same time.