[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: performance very differently for two hosts that are configured identical



Hi. Thanks for sharing your ideas and experience!

On Mon, 12 Oct 2009, Emmanuel Lecharny wrote:
Two ideas :

1) Check the code that send requests to the prod server. It might receive many more requests than expected

Why? I don't know how to check the code and already asked the web dev to do so without clue. I guess ldap commandline output can exclude potential issue from code writer. By the way the same code run on prod and dev server.

2) Check the network latency. This is most certainly what kills your performances : firewalls, load balancers, etc are adding some latency you don't see on your dev server because you are not using them on dev.

Couldn't be. As a new prod, no firewall nor load balancing thing running.
I just double checked iptables kernel module is not loaded.

This information might be helpful. I can manaully track down the slow-down happens because of two pauses.

the small pause (around 0.1 second) is marked here:

	# extended LDIF
	#
	# LDAPv3
	# base <ou=contacts,ou=realss.com,dc=eoa,dc=cn> with scope
	# subtree
	# filter: (uidNumber=7)
	# requesting: dn
	#
-> 0.1s PAUSE
	# zhangweiwu, contacts, realss.com, eoa.cn
	dn: uid=zhangweiwu,ou=contacts,ou=realss.com,dc=eoa,dc=cn

	# search result
	search: 2
	result: 0 Success

	# numResponses: 2
	# numEntries: 1


the big pause (around 0.3 second) is marked here:

-0.3s PAUSE
	# extended LDIF
	#
	# LDAPv3
	# base <ou=contacts,ou=realss.com,dc=eoa,dc=cn> with scope
	# subtree
	# filter: (uidNumber=7)
	# requesting: dn
	#

	# zhangweiwu, contacts, realss.com, eoa.cn
	dn: uid=zhangweiwu,ou=contacts,ou=realss.com,dc=eoa,dc=cn

	# search result
	search: 2
	result: 0 Success

	# numResponses: 2
	# numEntries: 1

To get these pauses I had to run ldapsearch(1) multiple times and try capture the pausing with my staring eyes!

Since there is a pause before each ldapsearch command I first think of speed of hostname resolve and time needed to establish a socket. I tested domain name resolve using code snipplet offered by http://paulschreiber.com/blog/2005/10/28/simple-gethostbyname-example/ and found prod is not slow at resolving its own name as given by hostname(1) or 'localhost', excluding resolving issue. I do not know how to test time needed to establish tcp/ip socket connection but a manual 'telnet localhost ldap' does not feel slow.

This is really frustrating...