1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef APACHE_MPM_DEFAULT_H
18 #define APACHE_MPM_DEFAULT_H
20 /* Default limit on the maximum setting of the ThreadsPerChild configuration
21 * directive. This limit can be overridden with the ThreadLimit directive.
22 * This limit directly influences the amount of shared storage that is allocated
23 * for the scoreboard. DEFAULT_THREAD_LIMIT represents a good compromise
24 * between scoreboard size and the ability of the server to handle the most
25 * common installation requirements.
27 #ifndef DEFAULT_THREAD_LIMIT
28 #define DEFAULT_THREAD_LIMIT 1920
31 /* The ThreadLimit directive can be used to override the DEFAULT_THREAD_LIMIT.
32 * ThreadLimit cannot be tuned larger than MAX_THREAD_LIMIT.
33 * This is a sort of compile-time limit to help catch typos.
35 #ifndef MAX_THREAD_LIMIT
36 #define MAX_THREAD_LIMIT 15000
39 /* Number of threads started in the child process in the absence
40 * of a ThreadsPerChild configuration directive
42 #ifndef DEFAULT_THREADS_PER_CHILD
43 #define DEFAULT_THREADS_PER_CHILD 64
46 /* Max number of child processes allowed.
48 #define HARD_SERVER_LIMIT 1
50 /* Number of servers to spawn off by default
52 #ifndef DEFAULT_NUM_DAEMON
53 #define DEFAULT_NUM_DAEMON 1
56 /* Check for definition of DEFAULT_REL_RUNTIMEDIR */
57 #ifndef DEFAULT_REL_RUNTIMEDIR
58 #define DEFAULT_REL_RUNTIMEDIR "logs"
61 /* Where the main/parent process's pid is logged */
62 #ifndef DEFAULT_PIDLOG
63 #define DEFAULT_PIDLOG DEFAULT_REL_RUNTIMEDIR "/httpd.pid"
67 * Interval, in microseconds, between scoreboard maintenance.
69 #ifndef SCOREBOARD_MAINTENANCE_INTERVAL
70 #define SCOREBOARD_MAINTENANCE_INTERVAL 1000000
73 /* Number of requests to try to handle in a single process. If <= 0,
74 * the children don't die off.
76 #ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
77 #define DEFAULT_MAX_REQUESTS_PER_CHILD 0
80 #endif /* AP_MPM_DEFAULT_H */