Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id CA89E200B2D for ; Thu, 16 Jun 2016 09:35:01 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C907A160A52; Thu, 16 Jun 2016 07:35:01 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1D288160A51 for ; Thu, 16 Jun 2016 09:35:00 +0200 (CEST) Received: (qmail 2672 invoked by uid 500); 16 Jun 2016 07:35:00 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 2662 invoked by uid 99); 16 Jun 2016 07:34:59 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jun 2016 07:34:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 72653C23A7 for ; Thu, 16 Jun 2016 07:34:59 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.821 X-Spam-Level: X-Spam-Status: No, score=-0.821 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id dfKLM5A3Mt_N for ; Thu, 16 Jun 2016 07:34:57 +0000 (UTC) Received: from mail-qk0-f181.google.com (mail-qk0-f181.google.com [209.85.220.181]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id BD3F05FAC5 for ; Thu, 16 Jun 2016 07:34:56 +0000 (UTC) Received: by mail-qk0-f181.google.com with SMTP id p10so45025487qke.3 for ; Thu, 16 Jun 2016 00:34:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=c59wD88DLfwoXDhSF3VoroaXIWnDzKsodK6rke6Xy1E=; b=tymF5UkFYBX6MB/ZNdROR9DvJuCE/Sv+cJCElTkw90OuuFYBq+YO1bqzp4nX7zwi64 reNr8ocjqTE1LnfbKuIOJrAe5grpaKyDX4n1WMl3AkcUfC+EZhHXpTc6/paItT1DANGE gjs89kKLZCLCeE70hAPn819vBCXfE9/PgZuMm3k4O9yssg7hQ51dl8ei9GBT6jntQT2p ASO8KLkHdsiEiVLoHnx5QHARApBLNXbPWqjjdLwW/N83H8shqMyb0aPfEs7vOskgqTO7 nUrqBhQHQFIkPO2vaPq+yW98r4HVcfmoDg/6OebgTpm0S8BbMZVZ9Cno8FUtsEoogiq6 23Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=c59wD88DLfwoXDhSF3VoroaXIWnDzKsodK6rke6Xy1E=; b=QZ2fvCX+YZAPGAJHZgdDfwp+1ZOEsWut5wVHjc7IJXIxA50ivvP2Dr1ejbKFqvoJZL V+4P2dvqui+xkSTqIbSsvoMhFc5ZXLATDBs/5gVZS3jVy0hE+Jll3aihwqRSaCjM6Qc5 Hg4M4fmeIM1bitICxV2ja3pmiaB8tJc8oM05Bex6c0kAMtYvZ3qFXMXPXlDeHEa1oVzn x5DnopBHj+piFYdfqUirbXlc4DQuFrInfqVN5K9FOYdhC0rkqo5Mo8x+cWkyRwrfq3ZF xKZ6aD75K6oa6FAiCg2/SxgypLOY5+n6LyopUIap5ALgXQSRJdR+sOBhY+DyN+Lhl7oT fFaA== X-Gm-Message-State: ALyK8tLHbOP6UKAypzPT4icbscdQW8hgtwqb9ST+Zuu05cYa14a7BEscTj+L+B6qRs+KabMeXxkegdgdfEGG/Q== X-Received: by 10.237.48.236 with SMTP id 99mr3080010qtf.102.1466062495884; Thu, 16 Jun 2016 00:34:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.210.67 with HTTP; Thu, 16 Jun 2016 00:34:36 -0700 (PDT) In-Reply-To: <5c781ac6a5dc4d639fc58f8f17b9e159@exsvr1.ghs.com> References: <5c781ac6a5dc4d639fc58f8f17b9e159@exsvr1.ghs.com> From: Johan Corveleyn Date: Thu, 16 Jun 2016 09:34:36 +0200 Message-ID: Subject: Re: Performance Decrease After Moving Working Copy to Another Machine To: Brandon Eusebio Cc: "users@subversion.apache.org" Content-Type: text/plain; charset=UTF-8 archived-at: Thu, 16 Jun 2016 07:35:02 -0000 On Wed, Jun 15, 2016 at 11:36 PM, Brandon Eusebio wrote: > Hello, > > > > I am trying to move/copy a Subversion (version 1.8.10) working copy from one > linux machine to another. From researching similar questions/answers, this > seems possible by simply moving the entire folder (along with the .svn > subdirectory). I have implemented a solution that performs this copy using > tar. > > > > On source machine: > > `tar -cpz -f checkout_directory.tar.gz checkout_directory` > > > > On destination machine (after copy of the tarball): > > `tar -xpz -f checkout_directory.tar.gz` > > > > This achieves the goal of moving the working copy to the destination > machine; however the performance of svn operations becomes drastically > slower. For example, a `svn status` on the original machine takes < 1 > minute, but takes ~1 hour on the destination machine. The entire folder is > ~50GB, but these timings include clearing out the linux buffers/caches and > similar hardware/load on each machine. > > > > I can mitigate the performance hit by doing an `svn cleanup` on the > destination machine, but this operation also takes ~1 hour. I suspect this > updates the change times that Subversion uses to determine whether or not > local changes have been made > (http://svn.haxx.se/users/archive-2003-11/0595.shtml). > Yes, for the working copy to work optimally, the mtimes (last modification time) of the files need to correspond exactly to the corresponding values in the svn metadata (stored in .svn/wc.db, an sqlite database). Running 'svn cleanup' will fix this, because it corrects the metadata in wc.db to note the correct mtimes. I'm not sure if your tar commands precisely preserve the mtimes of the files (googling around for tar and mtime brings up several discussions where "it should, but sometimes it doesn't"). And with precisely, I mean "up to the nanosecond, exactly the same timestamp as on the original file". Also: what sometimes happens is that there is a difference in filesystems between source and target of the copy, so they might have different timestamp granularity on the filesystem level, leading to slightly different timestamps. I would suggest you try to verify the timestamps for some files in the source and target working copies, and their corresponding values in wc.db: 1) Run "ls" with some option to display precise timestamps (on Solaris you get "full-iso" time-style by running "ls -E", don't know the exact equivalent for linux). Check this on source and target. If they are different then there is your problem. 2) To double check, you can also see what the value in wc.db is, by running a query with sqlite3 like this: sqlite3 -header -column wc.db "select local_relpath, last_mod_time from nodes where local_relpath='path/to/file'" You'll probably have to convert the value you get there (it will be in milliseconds or microseconds "since epoch"), for instance use this: http://currentmillis.com/ HTH, -- Johan