From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id gGMfIOIsQmYE6AAAe85BDQ:P1 (envelope-from ) for ; Mon, 13 May 2024 17:08:18 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id gGMfIOIsQmYE6AAAe85BDQ (envelope-from ) for ; Mon, 13 May 2024 17:08:18 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=rdklein.fr header.s=zoho header.b=GjuTIVDc; arc=pass ("zohomail.eu:s=zohoarc:i=1"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1715612898; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=3LR72LIbd3J7ZiPCgqeb4XwmLi90USD8Nix8xG8uU1o=; b=U9QSaHOAVkiyrp94bIaSeu6OJqvPTDvVldisaPapQZzWf/Yw5ZEmYsWzlpIygMhFqFfiTM ElRdVTowgRMVRSuUIxt6gA/6YI3VkJIA7AIll93ITC7BJZVc7VNIZAGuzBtZ3wWf6z0zCH GARCBSSyGXrvtd8dBg29+NKZ4pe/rT8T/YkY0bTpo7NCKsiXTseIYhI//0klRXrGkr3nw7 /xTaplwGtWHjv4k/2qQBMnN9eWCP4EnDIo0bPO9GIAbaLqt+m+2/H69eRge+OHtz9gpRFr aXojD9IUmdDmo5qpAXz6/09+RhUlC0ZENQkKiae0StbSzT20cFAedxq2g4f7Sg== ARC-Seal: i=2; s=key1; d=yhetil.org; t=1715612898; a=rsa-sha256; cv=pass; b=h8QryMaZ6PikR1wtcsvtZwy5ORFZeLa3LvRsYBJFGSNgFv36ZiDKPf8a7K5KukBis38IT2 OQrQqcci6lWaJ/Y9uHW0mrHKkTs8o03yLZNbzXuYPd9xyuyWtLGWfzvMTTDGqeN4njcmm7 FBt+e8BFW/zdisimE7xLPsRTdBT3q1VcMl4bX01/0YJN3N1DOQRIzRpSV83K1yRtY0HyFx fEyKnztCh9FaqqKplcpg8oCHWC3kd2rTiSPj6TJw9I7YBUcPAX43D36uyuH0f7JHuLlcTs QTdJokzRIWhQtJ59EOLKIVTc3hyiiKTk1eRdxbvFWPC+l2kuaJ7vhIoMtQbkXA== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=rdklein.fr header.s=zoho header.b=GjuTIVDc; arc=pass ("zohomail.eu:s=zohoarc:i=1"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0BC8BFD0E for ; Mon, 13 May 2024 17:08:18 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s6XHO-0005Sf-AO; Mon, 13 May 2024 11:07:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s6XHM-0005SV-Sv for guix-devel@gnu.org; Mon, 13 May 2024 11:07:52 -0400 Received: from sender-op-o11.zoho.eu ([136.143.169.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s6XHG-00017I-Ps for guix-devel@gnu.org; Mon, 13 May 2024 11:07:52 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1715612862; cv=none; d=zohomail.eu; s=zohoarc; b=TYi43j6yUj+KmQeY6haZhIkgjgAsXWi/iMZz2mSlYYIJexxiAugbduUV08BG6dnGRKPoPxEWJfL2KyrIvCa+fVLfzWM2aF/8ZjiB2YpGQrOQoSUHs3bW+BI2hSEI6BovQprxBkDYOLhaw6I/7zraWXxNOD2KRTkhwEEnKu1MJaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1715612862; h=Content-Type:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=3LR72LIbd3J7ZiPCgqeb4XwmLi90USD8Nix8xG8uU1o=; b=XPVU7qWaPts19DqNyCsdqunLiil5yLzAJnx4bzdky0On/DTklWZdfIgL0Z8x1+DxvBJWPembf3DbVCsqHfpL7z/5QRHgM7XVnv04uWsQmde/pngjH8bjGqtG0DUea1dl4rTHJOUDaBZYJyzKR90UhNS7+YUfwinllJBYhMNkVmQ= ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=rdklein.fr; spf=pass smtp.mailfrom=edou@rdklein.fr; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1715612862; s=zoho; d=rdklein.fr; i=edou@rdklein.fr; h=From:From:To:To:Subject:Subject:Date:Date:Message-ID:MIME-Version:Content-Type:Message-Id:Reply-To:Cc; bh=3LR72LIbd3J7ZiPCgqeb4XwmLi90USD8Nix8xG8uU1o=; b=GjuTIVDc65rHaPBUssK/QlO5bZ8O4JoNdNsB47U+d8Xx4XWVUO8bnq4meSpfBs+s p1bGiZCyluUgonLcW9/jVUevQlCewzLoBRtCm/nImPMyXMHaZjL9wQpfOEDoruYgJGg C/bhh8o5w9EFAXfSYAnPWQJCl+5g/SHjCrnGqU7tPZkMVEKAGmnWN9nHOcCWQoOnbWq ousKFFbV/fsCaaidipTSzmcr46FojfyFRVu5ANbufkzBlelZceSPsrPtqaqCvyT6NwB 88ThV1hul7UrQqTLsibP08/9d8hDIj5mvNS0bTUxVd+fvAm3F3lkmzBRFSN/SsPkW4I /gr/Uwabgg== Received: by mx.zoho.eu with SMTPS id 1715612860121981.0726896202746; Mon, 13 May 2024 17:07:40 +0200 (CEST) User-agent: mu4e 1.10.2; emacs 28.2 From: Edouard Klein To: guix-devel@gnu.org Subject: Guix pull: avoiding "Computing Guix derivation" Date: Mon, 13 May 2024 17:04:22 +0200 Message-ID: <874jb16993.fsf@rdklein.fr> MIME-Version: 1.0 Content-Type: text/plain X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.169.11; envelope-from=edou@rdklein.fr; helo=sender-op-o11.zoho.eu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.07 X-Spam-Score: -5.07 X-Migadu-Queue-Id: 0BC8BFD0E X-Migadu-Scanner: mx11.migadu.com X-TUID: L3em81jGUgwC Hi Guix, First, I'd like to apologize for not having taken the time to answer those who helped me on a previous guix performance issue (with containers), the reason is tied to the topic of this email: the store has eaten all the space of my server, and solving that takes precedence over everything else, because no space == no services. So, I need to clear some space, and to do that I need to have every user run guix pull (and by that I mean root will sudo -u $user guix pull), then update all of their profiles, and then guix gc --delete-generations. This ought to turn deduplication up to 11, and enjoy a reduced store size. I've already solved the cache size problem: mount -t overlay overlay -o \ lowerdir="/root/.cache/guix",upperdir="/home/$user/.cache/guix-overlay",workdir="/home/$user/.cache/guix-workdir" \ "/home/$user/.cache/guix" Then bindfs --mirror=$user /home/$user/.cache/guix /home/$user/.cache/guix This lets root (who just ran guix pull) share its cache with every user, and avoid blasting away 700MB of disk space in every $HOME to reproduce the cache. However, now, I'm facing the previously addressed problem of guix pull being slow and hungry: https://www.mail-archive.com/guix-devel@gnu.org/msg66442.html (Guix pull speed) https://yhetil.org/guix/87h6mwf4u3.fsf@lapenas.dev/T/ (guix pull performance) On my server, in order to run guix pull, I have to stop all other services otherwise I run out of ram. Then, one root has pulled, I need to wait 4 minutes /per user/ for guix pull to finish its "Computing Guix derivation" step. I would like to know two things, one is for the sake of knowledge, and the other is to solve the problem at hand: - Why is this step not substitutable ? The inputs are known, a hash can be derived, a substitute server could be queried for an output of that hash ? What am I missing ? Does the guix derivation not end up in the store ? What makes it so special that it can't be served by a substitute server ? - Is there a way (even a very dirty one, like hand copying stuff accross /var/guix/profiles/per-user/*/current-guix) I can stop paying this 4 minutes per user price ? As I said, this is downtime on my server, as I need to stop all other services to let guix pull finish. Thanks in advance. Sorry for beating a dead horse, it's just that I can't scale anything up until I solve these performance issues. Sure I could rent a bigger server, but that's just kicking the can down the road. Cheers, Edouard.