{"action":"created","issue":{"url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/263","repository_url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi","labels_url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/263/labels{/name}","comments_url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/263/comments","events_url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/263/events","html_url":"https://github.com/GrahamDumpleton/mod_wsgi/issues/263","id":295146344,"number":263,"title":"WSGIDaemonProcess output appears to be unaffected by mod_ratelimit output filter","user":{"login":"ccazabon","id":7227064,"avatar_url":"https://avatars3.githubusercontent.com/u/7227064?v=4","gravatar_id":"","url":"https://api.github.com/users/ccazabon","html_url":"https://github.com/ccazabon","followers_url":"https://api.github.com/users/ccazabon/followers","following_url":"https://api.github.com/users/ccazabon/following{/other_user}","gists_url":"https://api.github.com/users/ccazabon/gists{/gist_id}","starred_url":"https://api.github.com/users/ccazabon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccazabon/subscriptions","organizations_url":"https://api.github.com/users/ccazabon/orgs","repos_url":"https://api.github.com/users/ccazabon/repos","events_url":"https://api.github.com/users/ccazabon/events{/privacy}","received_events_url":"https://api.github.com/users/ccazabon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-07T13:56:02Z","updated_at":"2018-02-07T15:14:42Z","closed_at":null,"author_association":"NONE","body":"The output/returned data of a WSGI application running in a WSGIDaemonProcess appears to not be effectively throttled by a mod_ratelimit RATE_LIMIT output filter as it should be.\r\n\r\nThe same file served in the same Apache vhost as a static file through Apache will obey the configured rate limit, while the WSGI application transfer of the same content will run at full wire speed.  Examples measured with curl, in a vhost with `SetOutputFilter RATE_LIMIT` and `SetEnv rate-limit 512` to limit transfer speed to 512KB/s:\r\n\r\nWSGI app:\r\n```\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100 64.0M  100 64.0M    0     0  9362k      0  0:00:06  0:00:06 --:--:-- 10.9M\r\n```\r\nApache static file:\r\n```\r\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\r\n                                 Dload  Upload   Total   Spent    Left  Speed\r\n100 64.0M  100 64.0M    0     0   508k      0  0:02:08  0:02:08 --:--:--  505k\r\n```\r\n\r\nSystem:\r\n  -Ubuntu Trusty x86_64\r\n  -Apache 2.4.7-1ubuntu4.18\r\n  -mod_wsgi 4.4.21 (but more recent versions do not refer to any similar bugs fixed)\r\n\r\n[Original mailing list thread](https://groups.google.com/forum/#!topic/modwsgi/AJaXBJdZYAs)."},"comment":{"url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/comments/363800123","html_url":"https://github.com/GrahamDumpleton/mod_wsgi/issues/263#issuecomment-363800123","issue_url":"https://api.github.com/repos/GrahamDumpleton/mod_wsgi/issues/263","id":363800123,"user":{"login":"ccazabon","id":7227064,"avatar_url":"https://avatars3.githubusercontent.com/u/7227064?v=4","gravatar_id":"","url":"https://api.github.com/users/ccazabon","html_url":"https://github.com/ccazabon","followers_url":"https://api.github.com/users/ccazabon/followers","following_url":"https://api.github.com/users/ccazabon/following{/other_user}","gists_url":"https://api.github.com/users/ccazabon/gists{/gist_id}","starred_url":"https://api.github.com/users/ccazabon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ccazabon/subscriptions","organizations_url":"https://api.github.com/users/ccazabon/orgs","repos_url":"https://api.github.com/users/ccazabon/repos","events_url":"https://api.github.com/users/ccazabon/events{/privacy}","received_events_url":"https://api.github.com/users/ccazabon/received_events","type":"User","site_admin":false},"created_at":"2018-02-07T15:14:42Z","updated_at":"2018-02-07T15:14:42Z","author_association":"NONE","body":"For what it's worth, returning the data from the WSGI app in multiple chunks (yielding 1M chunks from an iterator) makes no difference."}}
{"actor":{"display_login":"ccazabon"}}