From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Tippett Subject: Re: sync guest calls made async on host - SQLite performance Date: Thu, 24 Sep 2009 23:13:11 -0400 Message-ID: <4ABC3547.10903@gmail.com> References: <6b483fa20909241911r6b7a7936udc0fb8edf7c596a5@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Ian Woodstock Return-path: Received: from qw-out-2122.google.com ([74.125.92.24]:27874 "EHLO qw-out-2122.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753326AbZIYDNR (ORCPT ); Thu, 24 Sep 2009 23:13:17 -0400 Received: by qw-out-2122.google.com with SMTP id 5so827117qwd.37 for ; Thu, 24 Sep 2009 20:13:21 -0700 (PDT) In-Reply-To: <6b483fa20909241911r6b7a7936udc0fb8edf7c596a5@mail.gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: Thanks for your response. Remember that I am not raising questions about the relative performance of KVM using guests. The prevailing opinion would be that performance of a guest would range anywhere from considerably slower to around the same performance as native - depending on workload, tuning the guest and configuration. I am looking further into a particular anomalous result. The result is that SQLite experiences an _order of magnitude_ - 10x beneficial advantage when running under KVM. My only rationalization of this would be as the subject suggests, is that somewhere between the host's HDD and the guests file layer something is making a synchronous call asynchronous and batching writes together. Intuitively this feels that running SQLite under at least a KVM virtualized environment will be putting the data at considerably higher risk than is present in a non-virtualized environment in case of system failure. Performance is inconsequential in this case. Focusing in particular on one response > Maybe it would be more appropriate to actually run the test in a tuned > environment and present some results rather than ask a developer to > prove KVM is working. I am not asking for comparative performance results, I am looking for more data that indicates if the anomalous performance increase is a Ubuntu+KVM+2.6.31 thing or a KVM+2.6.31 thing or a KVM thing. I am looking to the KVM developers to either confirm that the behaviour is safe and expected, or to provide other data points to indicate that it is a Ubuntu+2.6.31 or a 2.6.31 thing by showing that when KVM is properly configured KVM environment the performance sits in the expected "considerably slower to around the same speed". Regards, Matthew -------- Original Message -------- Subject: Re: sync guest calls made async on host - SQLite performance From: Ian Woodstock To: kvm@vger.kernel.org Date: 09/24/2009 10:11 PM > The Phoronix Test Suite is designed to test a (client) operating > system out of the box and it does a good job at that. > It's certainly valid to run PTS inside a virtual machine but you > you're going to need to tune the host, in this case Karmic. > > The way you'd configure a client operating system to a server is > obviously different, for example selecting the right I/O elevator, in > the case of KVM you'll certainly see benefits there. > You'd also want to make sure that the guest OS has been optimally > installed - for exmaple in a VMware environment you'd install VMware > tools - in KVM you'd ensure that you're using VirtIO in the guest for > the same reason. > They you'd also look at optimizations like cpu pinning, use of huge pages, etc. > > Just taking an generic installation of Karmic out of the box and > running VMs isn't going to give you real insight into the performance > of KVM. When deploying Linux as a virtualization host you should be > tuning it. > It would certainly be appropriate to have a spin of Karmic that was > designed to run as a virtualization host. > > Maybe it would be more appropriate to actually run the test in a tuned > environment and present some results rather than ask a developer to > prove KVM is working. > > > >> The test itself is a simple usage of SQLite. It is stock KVM as >> available in 2.6.31 on Ubuntu Karmic. So it would be the environment, >> not the test. >> >> So assuming that KVM upstream works as expected that would leave >> either 2.6.31 having an issue, or Ubuntu having an issue. >> >> Care to make an assertion on the KVM in 2.6.31? Leaving only Ubuntu's >> installation. >> >> Can some KVM developers attempt to confirm that a 'correctly' >> configured KVM will not demonstrate this behaviour? >> http://www.phoronix-test-suite.com/ (or is already available in newer >> distributions of Fedora, openSUSE and Ubuntu. >> >> Regards... Matthew > > > On 9/24/09, Avi Kivity wrote: >> On 09/24/2009 03:31 PM, Matthew Tippett wrote: >>> Thanks Avi, >>> >>> I am still trying to reconcile the your statement with the potential >>> data risks and the numbers observed. >>> >>> My read of your response is that the guest sees a consistent view - >>> the data is commited to the virtual disk device. Does a synchronous >>> write within the guest trigger a synchronous write of the virtual >>> device within the host? >>> >> Yes. >> >>> I don't think offering SQLite users a 10 fold increase in performance >>> with no data integrity risks just by using KVM is a sane proposition. >>> >> It isn't, my guess is that the test setup is broken somehow. >> >> -- >> Do not meddle in the internals of kernels, for they are subtle and quick to >> panic. >> >> > > -- > Sent from my mobile device > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html