[ 
https://issues.apache.org/jira/browse/COUCHDB-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Newson resolved COUCHDB-1634.
------------------------------------

    Resolution: Fixed

Reduced work factor for 1.3.
                
> authentication slows down all requests
> --------------------------------------
>
>                 Key: COUCHDB-1634
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1634
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.2, 1.3
>            Reporter: Benoit Chesneau
>             Fix For: 1.3
>
>
> I did yesterday a lot of test on the replication yesterday and found why the 
> replication was so slow and the CPU used so much on the "server". 
> The tests consisted in replicating 10000 docs from 1 "server" node on a 
> machine  in 100 then 10 databases on 1 "client" node on another machine. The 
> replication was launched on the "client" node  (source is the "server" node). 
> The replications on the 100 dbs are launched concurrently. The point is to 
> simulate more or less 100 devices replicating on the "server"  node at the 
> same time.s connections
> For 100 replications tasks the time was ~1h with basic auth against ~10mn 
> without. In the mean time teh CPU on the "server" node was at 700% with all 
> the cores taken (8) and thoughtput was  ~6-8Mb/s . Same diff apply to 10 
> concurrent replication tasks. 
> This morning I did a quick test going back on sha1 and the replication was 
> faster x2. cpu was really less used  < 100% 
> I think this is quite expected since we are doing on each request the 
> following workflow:
> - base64.decode(auth header)
> - get user doc (cached or not)
> - hash auth 
> - and compare to what we have in the doc or settings
> But I think we should improve it asap. If one optimisation should be made 
> that should be here imo. Playing with the number of itterations of the 
> hashing helps indeed but isn't enough. Also cookie auth even if I didn't test 
> it yet should be faster since it doens't try to iterrate or such but still. 
> Maybe we should introduce a session system in couch? Since at the end it will 
> only consist in checking a tocken against another it may be faster. Or using 
> other solution I don't yet. Others dbs are a lot faster on that purpose. 
> ANyway I don't have a strong opinion on what the solution should be . But 
> this is a big bottleneck for real usages of couchdb.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to