Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 90207 invoked from network); 4 Jan 2009 10:25:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Jan 2009 10:25:20 -0000 Received: (qmail 39352 invoked by uid 500); 4 Jan 2009 10:25:14 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 39280 invoked by uid 500); 4 Jan 2009 10:25:13 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 39271 invoked by uid 99); 4 Jan 2009 10:25:13 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Jan 2009 02:25:13 -0800 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [195.227.30.149] (HELO mailserver.kippdata.de) (195.227.30.149) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Jan 2009 10:25:08 +0000 Received: from [192.168.2.102] ([192.168.2.102]) by mailserver.kippdata.de (8.13.5/8.13.5) with ESMTP id n04AOl6l008217 for ; Sun, 4 Jan 2009 11:24:47 +0100 (CET) Message-ID: <49608E45.7030803@kippdata.de> Date: Sun, 04 Jan 2009 11:24:05 +0100 From: Rainer Jung User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1b3pre) Gecko/20081204 Thunderbird/3.0b1 MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: Problem with file descriptor handling in httpd 2.3.1 References: <495FF1B9.9070607@kippdata.de> <495FF67D.3050801@force-elite.com> <495FF97C.8090201@kippdata.de> <49600828.6080606@apache.org> In-Reply-To: <49600828.6080606@apache.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On 04.01.2009 01:51, Ruediger Pluem wrote: > > On 01/04/2009 12:49 AM, Rainer Jung wrote: >> On 04.01.2009 00:36, Paul Querna wrote: >>> Rainer Jung wrote: >>>> During testing 2.3.1 I noticed a lot of errors of type EMFILE: "Too >>>> many open files". I used strace and the problem looks like this: >>>> >>>> - The test case is using ab with HTTP keep alive, concurrency 20 and a >>>> small file, so doing about 2000 requests per second. > > What is the exact size of the file? It is the index.html, via URL /, so size is 45 Bytes. Configuration is very close to original, except for: 40c40 < Listen myhost:8000 --- > Listen 80 455,456c455,456 < EnableMMAP off < EnableSendfile off --- > #EnableMMAP off > #EnableSendfile off (because installation is on NFS, but the problem also occurs with those switches on) The following Modules are loaded: LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule access_compat_module modules/mod_access_compat.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule log_config_module modules/mod_log_config.so LoadModule env_module modules/mod_env.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule ident_module modules/mod_ident.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule version_module modules/mod_version.so LoadModule mime_module modules/mod_mime.so LoadModule unixd_module modules/mod_unixd.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule info_module modules/mod_info.so LoadModule suexec_module modules/mod_suexec.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so To reproduce you must use KeepAlive and your MaxKeepAliveRequests (Default:100) times concurrency must exceed the maximum number of FDs. Even without exceeding, you can use "httpd -X" and look at /proc/PID/fd during the test run. You should be able to notice a huge number of fds, all pointing to the index.html. Regards, Rainer