Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 65035

Summary: Apache HARD_SERVER_LIMIT below recommended
Product: Gentoo Linux Reporter: David D. Huff Jr. <David.Huff>
Component: Current packagesAssignee: Apache Team - Bugzilla Reports <apache-bugs>
Status: RESOLVED TEST-REQUEST    
Severity: normal    
Priority: High    
Version: 1.2   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---

Description David D. Huff Jr. 2004-09-22 18:58:27 UTC
Is there a way to override the ebuild without editing the file before every emerge of apache?

	#-DBUFFERED_LOGS
	OPTIM="${mycflags} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT:=512} \

Setting is too small for larger servers. This is what is hardcoded in the httpd.h file:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#elif defined(NETWARE)
#define HARD_SERVER_LIMIT 2048
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
Comment 1 Mr. Bones. (RETIRED) gentoo-dev 2004-09-22 19:25:20 UTC
Guess an einfo in pkg_setup wouldn't hurt for the less shell-enabled out there.
Comment 2 Stuart Herbert (RETIRED) gentoo-dev 2004-09-23 02:41:47 UTC
I wonder 

a) why does Apache need a 'hard limit' that varies from platform to platform
b) whether this is something we can get fixed upstream before Apache 2.2 comes out

Best regards,
Stu
Comment 3 David D. Huff Jr. 2004-09-23 03:46:01 UTC
I'm sorry I should have been more specific. This concerns apache-1.3.31. According to documentation within the file httpd.h and other sources the limit is there in case something goes horribly wrong and they don't want to spawn child clients until the physical server goes down.
My problem comes from when the robots from msn, google, customers and others converge in the same (15 minute) time window 512 no longer works. The 15 minute keepalive is almost a requiement for retail, customers take between 7 and 11 minutes to find their charge card.
I handled mysql in the /etc/mysql/my.cnf file by adding max_connections=2048 and changed the ebuild for apache to the same number, recompiled and set the MaxClient in the /etc/apache/conf/apache.conf to 2048 as well.
If there were some way of setting that parameter in a file external to the build process so that it is used each time apache is emerged that may be the best solution. Thanks
Comment 4 Benedikt Böhm (RETIRED) gentoo-dev 2005-02-05 08:50:29 UTC
please try to set HARD_SERVER_LIMIT in make.conf it should be used by this ebuild