Return-Path: X-Original-To: apmail-directory-dev-archive@www.apache.org Delivered-To: apmail-directory-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 73577103F8 for ; Tue, 31 Dec 2013 07:14:53 +0000 (UTC) Received: (qmail 93833 invoked by uid 500); 31 Dec 2013 07:14:47 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 93793 invoked by uid 500); 31 Dec 2013 07:14:46 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 93781 invoked by uid 99); 31 Dec 2013 07:14:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Dec 2013 07:14:43 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of elecharny@gmail.com designates 209.85.212.173 as permitted sender) Received: from [209.85.212.173] (HELO mail-wi0-f173.google.com) (209.85.212.173) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Dec 2013 07:14:38 +0000 Received: by mail-wi0-f173.google.com with SMTP id hn9so12332803wib.12 for ; Mon, 30 Dec 2013 23:14:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=ikN7b+AAxCXHbuwqZc8zIel2DYdoG3Sm4twlSuhHhvA=; b=Dt2nsmt1vHUMsssfzDp+LNpo/a1a9rr5tymapoTAamg0jSC8WL9MOqP4EUUfb8mmL3 xOAZjSDiHyqhNQpdMfYHnKr2lIgEp9GkPu8+XN1Erfp8JH1Hzofw9wvux+PUiywZzDIB MjIC+3eSyWtrHnMyQqX3ZvUX5sBxq0VihnrMn+qoUZG56neIMh7CCIeKIZnisHhTgYLo DN0eRBI9XRLJQRicQDUpKQjGB7BG+Wc0ZBfhNqsyZcur5hXwKYu7mPpgnzxaUwgrqgua IZ1x8aAIu14j5MU8IUiYfsQhGOCwUHd8OM+Fw3rNuA8Q7VKVeyJRL7cq+5w/c+9VM+n9 L64w== X-Received: by 10.194.8.229 with SMTP id u5mr2666935wja.80.1388474056914; Mon, 30 Dec 2013 23:14:16 -0800 (PST) Received: from Emmanuels-MacBook-Pro.local ([212.195.127.200]) by mx.google.com with ESMTPSA id z2sm70966564wiy.11.2013.12.30.23.14.15 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 30 Dec 2013 23:14:16 -0800 (PST) Message-ID: <52C26EC6.7020701@gmail.com> Date: Tue, 31 Dec 2013 08:14:14 +0100 From: =?UTF-8?B?RW1tYW51ZWwgTMOpY2hhcm55?= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: Scalability / performance testing? References: <52C1A960.7000200@gmail.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Le 12/30/13 7:57 PM, Marc Boorshtein a écrit : >> >> >> I have done some benchmarks 6 months ago with 5 injectors sending as >> manu search request as possible to the server. I won't say it's enough >> to guarantee that the server is stable enough... >> > Performance testing is an art, not a science :-) Or maybe science-fiction... > > >> This is typical of a client hving closed the connection just after >> having sent a search request. It sounds weird, but it's a possibility : >> >> public final void handleMessage( IoSession session, T message ) >> throws Exception >> { >> LdapSession ldapSession = >> ldapServer.getLdapSessionManager().getLdapSession( session ); >> >> if ( ldapSession == null ) >> { >> // in some cases the session is becoming null though the >> client is sending the UnbindRequest >> // before closing >> LOG.info( "ignoring the message {} received from null >> session", message ); >> return; >> } >> >> > OK, so like if there was a timeout on the client end? I send the request, > but it takes too long so it closes the connection before the search is done > being processed? That's an option. We added this check to avoid such situation : https://issues.apache.org/jira/browse/DIRSERVER-1404 > > > >> >> The BIND operation is different from a session. A LdapSession is >> associated with a physical connection, while the Bind operation is just >> a message sent by the user. For some reason, (the protocol mandate it), >> you have to accept concurrent operations for a single session, like for >> instance an Abandon request should be processed even if a search request >> is being processed. >> >> Thus we have more than one thread processing the incoming requests, and >> in some cases, processing a Unbind request might be unliky and being >> done on a already closed connection. >> > > Is there a way to tell if requests are coming in on one connection or over > multiple connections? A request always come from one single conection. It's not possible that 2 requests for the same session are arriving from 2 different connections. What happens internally is that requests are processed by a pool of thread, which makes it possibe for 2 requests to be processed in parallel. > >>> Are there any guide lines for how to configure apacheds? ie the number >> of >>> threads? >> You can increase the number of processing thread in the transport layer >> : >> >> http://directory.apache.org/apacheds/advanced-ug/2-server-config.html#transports >> (check the ads-transportNbThreads paramenter). >> >> > Great, do you have any guidance on how to set these options? ie is it > better to have n threads where n is the number of cores/processors? Whats > the relationship between ads-transportBackLog and memory/processing power? As a rule of thumb, nb of threads = nb of processors/core +1. That should be enough. > > > >> Now, if you can insolate some problem, we would be happy to check what's >> going on ! >> >> > Sure. Right now I'm just trying to understand what the logs are telling > me. MyVD's performance use case is probably very different from "straight" > apacheds. These tests seem to take between 300ms and 1.5s for > authentication (this isn't 1-1 with a single LDAP operation. Its actually > several.) where as ApacheDS the data is all local so the timings are > different. > > > >> One last thing : we will conduct some load tests very soon. >> >> > We'd be happy to donate compute cycles on ec2 and assist in the testing > process however we can! What I would be interested in is to run the exact tests you are running. But that will be no sooner than next week, as I'm on a little trip for the next 2 days (and my brain might be a bit too fried in the 2 or 3 days after those two days to be useful at all...) Have a happy new year in the mean time ! -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com