<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alexandr+Andreev</id>
	<title>OpenVZ Virtuozzo Containers Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alexandr+Andreev"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/Special:Contributions/Alexandr_Andreev"/>
	<updated>2026-05-02T12:40:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3462</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3462"/>
		<updated>2007-09-19T11:39:11Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to improve performance of OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= HW node environment tuning =&lt;br /&gt;
&lt;br /&gt;
== Disable unnecessary services ==&lt;br /&gt;
&lt;br /&gt;
Disable all default services that you do not need to use and then reboot your host. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; daemon can significantly decrease performance of linux kernel system calls (up to ~&amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;) even if you do not use any audit rules, or even if you just stopped this service without host reboot!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To setup default services, use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; in RedHat, or &amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; on Debian&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
To improve performance of small shell scripts, which spends a lot of time starting the shell binary itself (like the shell scripts test from the [http://www.tux.org/pub/tux/niemi/unixbench/ unixbench] package), you can set your &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;&amp;quot;C&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see current settings, type &lt;br /&gt;
&lt;br /&gt;
  # locale&lt;br /&gt;
&lt;br /&gt;
If you want to change it only for the current shell session, do:&lt;br /&gt;
&lt;br /&gt;
 # export LANG=C&lt;br /&gt;
&lt;br /&gt;
If you want to change the default value, modify the &amp;lt;code&amp;gt;/etc/sysconfig/i18n&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable was set to something like &amp;lt;code&amp;gt;en_US.UTF-8&amp;lt;/code&amp;gt;, you can reduce shell (bash) startup time up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt; with &amp;lt;code&amp;gt;LANG=C&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
= Virtual Environment tuning =&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
&lt;br /&gt;
* If the total number of VE's in your host is more than CPUs number, and there are many '''threads''' running inside each VE it is better to give just a single VCPU to each VE.&lt;br /&gt;
In this case thread memory locality will significantly reduce overhead on SMP memory coherence and overall performance can be increased up to ~&amp;lt;font color=red&amp;gt;50-100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== Network checksumming ==&lt;br /&gt;
('''TODO''')&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, that on VE creation the default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; value will be the same as in the HW node. So you can tune it in node (see [[#Shell scripts performance improvement]] above), or set it in VE the same way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second important thing is the locale cache. On &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt; based distributions, usually it is created by the &amp;lt;code&amp;gt;glibc-common-XXX.rpm&amp;lt;/code&amp;gt; post install script and it can be up to 50 MBytes on some distributions. So on some VE templates it can be missed to save disk space. But you can always create it inside VE later by the following command (you must be the root user):  &lt;br /&gt;
&lt;br /&gt;
 # build-locale-archive&lt;br /&gt;
&lt;br /&gt;
And again, in some cases shell (bash) startup time can be reduced up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3461</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3461"/>
		<updated>2007-09-19T11:34:44Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to improve performance of OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= HW node environment tuning =&lt;br /&gt;
&lt;br /&gt;
== Disable unnecessary services ==&lt;br /&gt;
&lt;br /&gt;
Disable all default services that you do not need to use and then reboot your host. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; daemon can significantly decrease performance of linux kernel system calls (up to ~&amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;) even if you do not use any audit rules, or even if you just stopped this service without host reboot!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To setup default services, use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; in RedHat, or &amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; on Debian&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
To improve performance of small shell scripts, which spends a lot of time starting the shell binary itself (like the shell scripts test from the [http://www.tux.org/pub/tux/niemi/unixbench/ unixbench] package), you can set your &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;&amp;quot;C&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see current settings, type &lt;br /&gt;
&lt;br /&gt;
  # locale&lt;br /&gt;
&lt;br /&gt;
If you want to change it only for the current shell session, do:&lt;br /&gt;
&lt;br /&gt;
 # export LANG=C&lt;br /&gt;
&lt;br /&gt;
If you want to change the default value, modify the &amp;lt;code&amp;gt;/etc/sysconfig/i18n&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable was set to something like &amp;lt;code&amp;gt;en_US.UTF-8&amp;lt;/code&amp;gt;, you can reduce shell (bash) startup time up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt; with &amp;lt;code&amp;gt;LANG=C&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
= Virtual Environment tuning =&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
&lt;br /&gt;
* If the total number of VE's in your host is more than CPUs number, and there are many '''threads''' running inside each VE it is better to give just a single VCPU to each VE.&lt;br /&gt;
In this case thread memory locality will significantly reduce overhead on SMP memory coherence and overall performance can be increased up to ~&amp;lt;font color=red&amp;gt;50-100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== Network checksumming ==&lt;br /&gt;
('''TODO''')&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, that on VE creation the default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; value will be the same as in the HW node. So you can tune it in node (see [[#Shell scripts performance improvement]] above), or set it in VE the same way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second important thing is the locale cache. By default it is created by glibc rpm post install script and it can be up to 50 MBytes on some distributions. So on some VE templates it can be missed to save disk space. But you can always create it inside VE after VE creation by the following command (you must be the root user):  &lt;br /&gt;
&lt;br /&gt;
 # build-locale-archive&lt;br /&gt;
&lt;br /&gt;
And again, in some cases shell (bash) startup time can be reduced up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3460</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3460"/>
		<updated>2007-09-19T11:34:07Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to improve performance of OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= HW node environment tuning =&lt;br /&gt;
&lt;br /&gt;
== Disable unnecessary services ==&lt;br /&gt;
&lt;br /&gt;
Disable all default services that you do not need to use and then reboot your host. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; daemon can significantly decrease performance of linux kernel system calls (up to ~&amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;) even if you do not use any audit rules, or even if you just stopped this service without host reboot!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To setup default services, use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; in RedHat, or &amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; on Debian&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
To improve performance of small shell scripts, which spends a lot of time starting the shell binary itself (like the shell scripts test from the [http://www.tux.org/pub/tux/niemi/unixbench/ unixbench] package), you can set your &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable to &amp;lt;code&amp;gt;&amp;quot;C&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see current settings, type &lt;br /&gt;
&lt;br /&gt;
  # locale&lt;br /&gt;
&lt;br /&gt;
If you want to change it only for the current shell session, do:&lt;br /&gt;
&lt;br /&gt;
 # export LANG=C&lt;br /&gt;
&lt;br /&gt;
If you want to change the default value, modify the &amp;lt;code&amp;gt;/etc/sysconfig/i18n&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; environment variable was set to something like &amp;lt;code&amp;gt;en_US.UTF-8&amp;lt;/code&amp;gt;, you can reduce shell (bash) startup time up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt; with &amp;lt;code&amp;gt;LANG=C&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
= Virtual Environment tuning =&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
&lt;br /&gt;
* If the total number of VE's in your host is more than CPUs number, and there are many '''threads''' running inside each VE it is better to give just a single VCPU to each VE.&lt;br /&gt;
In this case thread memory locality will significantly reduce overhead on SMP memory coherence and overall performance can be increased up to ~&amp;lt;font color=red&amp;gt;50-100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== Network checksumming ==&lt;br /&gt;
('''TODO''')&lt;br /&gt;
&lt;br /&gt;
== Shell scripts performance improvement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, that on VE creation the default &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; value will be the same as in the HW node. So you can tune it in node (see [[#Shell scripts performance improvement] aaa]), or set it in VE the same way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second important thing is the locale cache. By default it is created by glibc rpm post install script and it can be up to 50 MBytes on some distributions. So on some VE templates it can be missed to save disk space. But you can always create it inside VE after VE creation by the following command (you must be the root user):  &lt;br /&gt;
&lt;br /&gt;
 # build-locale-archive&lt;br /&gt;
&lt;br /&gt;
And again, in some cases shell (bash) startup time can be reduced up to ~&amp;lt;font color=red&amp;gt;15%&amp;lt;/font&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3383</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3383"/>
		<updated>2007-08-03T15:49:35Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to improve performance of OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= HW node environment tuning =&lt;br /&gt;
&lt;br /&gt;
== Disable unnecessary services ==&lt;br /&gt;
&lt;br /&gt;
Disable all default services that you do not need to use and then reboot your host. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, the &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; daemon can significantly decrease performance of linux kernel system calls (up to ~&amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;) even if you do not use any audit rules, or even if you just stopped this service without host reboot!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To setup default services, use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; in RedHat, or &amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; on Debian&lt;br /&gt;
&lt;br /&gt;
== network checksumming ==&lt;br /&gt;
('''TODO''')&lt;br /&gt;
&lt;br /&gt;
= Virtual Environment tuning =&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
&lt;br /&gt;
* If the total number of VE's in your host is more than CPUs number, and there are many tasks running inside each VE, and they are scheduled quite often, it's better to give just one CPU for each VE. In this case the VirtualCPU-scheduler overhead can be significantly decreased, and overall performance can be increased up to ~&amp;lt;font color=red&amp;gt;50-100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
= Recompiling the kernel =&lt;br /&gt;
&lt;br /&gt;
== Disable all unnecessary options ==&lt;br /&gt;
&lt;br /&gt;
* You can disable all &amp;lt;code&amp;gt;_DEBUG_&amp;lt;/code&amp;gt; options in the kernel, this can increase performance up to ~&amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt; on some applications.&lt;br /&gt;
&lt;br /&gt;
* other options ('''TODO''')&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3381</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3381"/>
		<updated>2007-08-03T15:27:14Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: Performance measurement moved to OpenVZ performance tuning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to do correct performance measurements on OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= Test conditions =&lt;br /&gt;
&lt;br /&gt;
== kernels with different versions ==&lt;br /&gt;
* If you want to compare performance of the kernel on different hosts, or measure OpenVZ performance overhead, it's strongly recommended to compare the same kernel version with similar .config file and on the same linux distribution.&lt;br /&gt;
&lt;br /&gt;
* If you compare kernels with different versions, please check all .config options that are differ, especially _DEBUG_ options. For example, on unixbench pipe throughput test on 2.6.18 kernel, disabled CONFIG_DEBUG_HIGHMEM option will increase performance up to &amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== running services ==&lt;br /&gt;
* Before performing test measurement, you should disable '''all''' default services in your runlevel and then '''reboot''' your host. &lt;br /&gt;
&lt;br /&gt;
It is not enough to just stop services, because some services, like &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; will affect performance even if the daemon is already stopped. For some unixbench tests it can be &amp;lt;font color=red&amp;gt;~20%&amp;lt;/font&amp;gt; overhead if &amp;lt;code&amp;gt;auditd&amp;lt;/code&amp;gt; was started once on a host before reboot.&lt;br /&gt;
&lt;br /&gt;
On RedHat distributions use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; utility to disable default services. (&amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; for Debian)&lt;br /&gt;
&lt;br /&gt;
== filesystem tests ==&lt;br /&gt;
* If you perform filesystem tests, please keep in mind filesystem type, block size, mount options and so on.&lt;br /&gt;
&lt;br /&gt;
For example, ext3 filesystem performance highly depends on journal type and mount options.&lt;br /&gt;
&lt;br /&gt;
* Also please always note/report IO-scheduler type. Different IO-schedulers can highly affect your tests results (up to &amp;lt;font color=red&amp;gt;30%&amp;lt;/font&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
If your kernel support different IO-schedulers, you can get/set the type here:&lt;br /&gt;
&lt;br /&gt;
 # cat /sys/block/hda/queue/scheduler&lt;br /&gt;
 noop anticipatory deadline [cfq]&lt;br /&gt;
 # echo noop &amp;gt; /sys/block/hda/queue/scheduler&lt;br /&gt;
&lt;br /&gt;
== network isolation ==&lt;br /&gt;
* You should disable local network/internet connection if your tests doesn't require it.&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
* If the number of VE's in your host is more than CPUs number, and there are many tasks/tests running inside each VE, and tasks are scheduled quite often, it's better to give just one CPU for each VE. In this case the VirtualCPU-scheduler performance overhead can be significantly decreased, and performance can increase up to &amp;lt;font color=red&amp;gt;100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== network performance ==&lt;br /&gt;
* please do not use file transferring utilities to test the network performance, because the bottleneck of these tests is usually file system performance - not TCP/IP stack&lt;br /&gt;
&lt;br /&gt;
== network checksumming ==&lt;br /&gt;
'''TODO'''&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_measurement&amp;diff=3382</id>
		<title>Performance measurement</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_measurement&amp;diff=3382"/>
		<updated>2007-08-03T15:27:14Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: Performance measurement moved to OpenVZ performance tuning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[OpenVZ performance tuning]]&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3380</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3380"/>
		<updated>2007-08-03T12:32:24Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: /* CPU distribution inside VE on SMP hosts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to do correct performance measurements on OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= Test conditions =&lt;br /&gt;
&lt;br /&gt;
== kernels with different versions ==&lt;br /&gt;
* If you want to compare performance of the kernel on different hosts, or measure OpenVZ performance overhead, it's strongly recommended to compare the same kernel version with similar .config file and on the same linux distribution.&lt;br /&gt;
&lt;br /&gt;
* If you compare kernels with different versions, please check all .config options that are differ, especially _DEBUG_ options. For example, on unixbench pipe throughput test on 2.6.18 kernel, disabled CONFIG_DEBUG_HIGHMEM option will increase performance up to &amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== running services ==&lt;br /&gt;
* Before performing test measurement, you should disable '''all''' default services in your runlevel and then '''reboot''' your host. &lt;br /&gt;
&lt;br /&gt;
It is not enough to just stop services, because some services, like &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; will affect performance even if the daemon is already stopped. For some unixbench tests it can be &amp;lt;font color=red&amp;gt;~20%&amp;lt;/font&amp;gt; overhead if &amp;lt;code&amp;gt;auditd&amp;lt;/code&amp;gt; was started once on a host before reboot.&lt;br /&gt;
&lt;br /&gt;
On RedHat distributions use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; utility to disable default services. (&amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; for Debian)&lt;br /&gt;
&lt;br /&gt;
== filesystem tests ==&lt;br /&gt;
* If you perform filesystem tests, please keep in mind filesystem type, block size, mount options and so on.&lt;br /&gt;
&lt;br /&gt;
For example, ext3 filesystem performance highly depends on journal type and mount options.&lt;br /&gt;
&lt;br /&gt;
* Also please always note/report IO-scheduler type. Different IO-schedulers can highly affect your tests results (up to &amp;lt;font color=red&amp;gt;30%&amp;lt;/font&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
If your kernel support different IO-schedulers, you can get/set the type here:&lt;br /&gt;
&lt;br /&gt;
 # cat /sys/block/hda/queue/scheduler&lt;br /&gt;
 noop anticipatory deadline [cfq]&lt;br /&gt;
 # echo noop &amp;gt; /sys/block/hda/queue/scheduler&lt;br /&gt;
&lt;br /&gt;
== network isolation ==&lt;br /&gt;
* You should disable local network/internet connection if your tests doesn't require it.&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
* If the number of VE's in your host is more than CPUs number, and there are many tasks/tests running inside each VE, and tasks are scheduled quite often, it's better to give just one CPU for each VE. In this case the VirtualCPU-scheduler performance overhead can be significantly decreased, and performance can increase up to &amp;lt;font color=red&amp;gt;100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== network performance ==&lt;br /&gt;
* please do not use file transferring utilities to test the network performance, because the bottleneck of these tests is usually file system performance - not TCP/IP stack&lt;br /&gt;
&lt;br /&gt;
== network checksumming ==&lt;br /&gt;
'''TODO'''&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3379</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3379"/>
		<updated>2007-08-03T12:30:13Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: /* kernels with different versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to do correct performance measurements on OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= Test conditions =&lt;br /&gt;
&lt;br /&gt;
== kernels with different versions ==&lt;br /&gt;
* If you want to compare performance of the kernel on different hosts, or measure OpenVZ performance overhead, it's strongly recommended to compare the same kernel version with similar .config file and on the same linux distribution.&lt;br /&gt;
&lt;br /&gt;
* If you compare kernels with different versions, please check all .config options that are differ, especially _DEBUG_ options. For example, on unixbench pipe throughput test on 2.6.18 kernel, disabled CONFIG_DEBUG_HIGHMEM option will increase performance up to &amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== running services ==&lt;br /&gt;
* Before performing test measurement, you should disable '''all''' default services in your runlevel and then '''reboot''' your host. &lt;br /&gt;
&lt;br /&gt;
It is not enough to just stop services, because some services, like &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; will affect performance even if the daemon is already stopped. For some unixbench tests it can be &amp;lt;font color=red&amp;gt;~20%&amp;lt;/font&amp;gt; overhead if &amp;lt;code&amp;gt;auditd&amp;lt;/code&amp;gt; was started once on a host before reboot.&lt;br /&gt;
&lt;br /&gt;
On RedHat distributions use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; utility to disable default services. (&amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; for Debian)&lt;br /&gt;
&lt;br /&gt;
== filesystem tests ==&lt;br /&gt;
* If you perform filesystem tests, please keep in mind filesystem type, block size, mount options and so on.&lt;br /&gt;
&lt;br /&gt;
For example, ext3 filesystem performance highly depends on journal type and mount options.&lt;br /&gt;
&lt;br /&gt;
* Also please always note/report IO-scheduler type. Different IO-schedulers can highly affect your tests results (up to &amp;lt;font color=red&amp;gt;30%&amp;lt;/font&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
If your kernel support different IO-schedulers, you can get/set the type here:&lt;br /&gt;
&lt;br /&gt;
 # cat /sys/block/hda/queue/scheduler&lt;br /&gt;
 noop anticipatory deadline [cfq]&lt;br /&gt;
 # echo noop &amp;gt; /sys/block/hda/queue/scheduler&lt;br /&gt;
&lt;br /&gt;
== network isolation ==&lt;br /&gt;
* You should disable local network/internet connection if your tests doesn't require it.&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
* If the number of VE's in your host is more than CPUs number, and there are many tasks/tests running inside each VE, and that tasks are scheduled quite often, it's better to give just one CPU for each VE. In this case the VirtualCPU-scheduler performance overhead can be significantly decreased, and performance can increase up to &amp;lt;font color=red&amp;gt;100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== network performance ==&lt;br /&gt;
* please do not use file transferring utilities to test the network performance, because the bottleneck of these tests is usually file system performance - not TCP/IP stack&lt;br /&gt;
&lt;br /&gt;
== network checksumming ==&lt;br /&gt;
'''TODO'''&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3378</id>
		<title>Performance tuning</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Performance_tuning&amp;diff=3378"/>
		<updated>2007-08-03T12:29:03Z</updated>

		<summary type="html">&lt;p&gt;Alexandr Andreev: New page: This page describes how to do correct performance measurements on OpenVZ system.  = Test conditions =  == kernels with different versions == * If you want to compare performance of the ker...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to do correct performance measurements on OpenVZ system.&lt;br /&gt;
&lt;br /&gt;
= Test conditions =&lt;br /&gt;
&lt;br /&gt;
== kernels with different versions ==&lt;br /&gt;
* If you want to compare performance of the kernel on different hosts, or if you want to measure OpenVZ performance overhead, it's strongly recommended to compare the same kernel version with similar .config file and maybe with the same linux distribution.&lt;br /&gt;
&lt;br /&gt;
* If you compare kernels with different versions, please check all .config options that are differ, especially _DEBUG_ options. For example, on unixbench pipe throughput test on 2.6.18 kernel, disabled CONFIG_DEBUG_HIGHMEM option will increase performance up to &amp;lt;font color=red&amp;gt;20%&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== running services ==&lt;br /&gt;
* Before performing test measurement, you should disable '''all''' default services in your runlevel and then '''reboot''' your host. &lt;br /&gt;
&lt;br /&gt;
It is not enough to just stop services, because some services, like &amp;lt;code&amp;gt;audit&amp;lt;/code&amp;gt; will affect performance even if the daemon is already stopped. For some unixbench tests it can be &amp;lt;font color=red&amp;gt;~20%&amp;lt;/font&amp;gt; overhead if &amp;lt;code&amp;gt;auditd&amp;lt;/code&amp;gt; was started once on a host before reboot.&lt;br /&gt;
&lt;br /&gt;
On RedHat distributions use &amp;lt;code&amp;gt;chkconfig&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ntsysv&amp;lt;/code&amp;gt; utility to disable default services. (&amp;lt;code&amp;gt;rc-update&amp;lt;/code&amp;gt; in Gentoo, &amp;lt;code&amp;gt;update-rc.dv&amp;lt;/code&amp;gt; for Debian)&lt;br /&gt;
&lt;br /&gt;
== filesystem tests ==&lt;br /&gt;
* If you perform filesystem tests, please keep in mind filesystem type, block size, mount options and so on.&lt;br /&gt;
&lt;br /&gt;
For example, ext3 filesystem performance highly depends on journal type and mount options.&lt;br /&gt;
&lt;br /&gt;
* Also please always note/report IO-scheduler type. Different IO-schedulers can highly affect your tests results (up to &amp;lt;font color=red&amp;gt;30%&amp;lt;/font&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
If your kernel support different IO-schedulers, you can get/set the type here:&lt;br /&gt;
&lt;br /&gt;
 # cat /sys/block/hda/queue/scheduler&lt;br /&gt;
 noop anticipatory deadline [cfq]&lt;br /&gt;
 # echo noop &amp;gt; /sys/block/hda/queue/scheduler&lt;br /&gt;
&lt;br /&gt;
== network isolation ==&lt;br /&gt;
* You should disable local network/internet connection if your tests doesn't require it.&lt;br /&gt;
&lt;br /&gt;
== CPU distribution inside VE on SMP hosts ==&lt;br /&gt;
* If the number of VE's in your host is more than CPUs number, and there are many tasks/tests running inside each VE, and that tasks are scheduled quite often, it's better to give just one CPU for each VE. In this case the VirtualCPU-scheduler performance overhead can be significantly decreased, and performance can increase up to &amp;lt;font color=red&amp;gt;100%&amp;lt;/font&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
To set the number of CPUs available inside VE use:&lt;br /&gt;
&lt;br /&gt;
 # vzctl set $VEID --cpus N&lt;br /&gt;
&lt;br /&gt;
== network performance ==&lt;br /&gt;
* please do not use file transferring utilities to test the network performance, because the bottleneck of these tests is usually file system performance - not TCP/IP stack&lt;br /&gt;
&lt;br /&gt;
== network checksumming ==&lt;br /&gt;
'''TODO'''&lt;/div&gt;</summary>
		<author><name>Alexandr Andreev</name></author>
		
	</entry>
</feed>