Repository: geode
Updated Branches:
  refs/heads/develop 328c56e9f -> 21373946c


GEODE-2252 Update docs on vSphere performance tuning


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/21373946
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/21373946
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/21373946

Branch: refs/heads/develop
Commit: 21373946c4dbb4cb989d1dbf0c687a3562254af9
Parents: 328c56e
Author: Karen Miller <[email protected]>
Authored: Tue Dec 27 14:59:26 2016 -0800
Committer: Karen Miller <[email protected]>
Committed: Wed Dec 28 15:07:46 2016 -0800

----------------------------------------------------------------------
 .../source/subnavs/geode-subnav.erb             |  33 +----
 .../monitor_tune/chapter_overview.html.md.erb   |   2 +-
 .../gemfire_performance_on_vsphere.html.md.erb  |  64 ---------
 ...erformance_on_vsphere_guidelines.html.md.erb | 136 -------------------
 .../performance_on_vsphere.html.md.erb          | 135 ++++++++++++++++++
 5 files changed, 138 insertions(+), 232 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/21373946/geode-book/master_middleman/source/subnavs/geode-subnav.erb
----------------------------------------------------------------------
diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb 
b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
index cb77952..8673c64 100644
--- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb
+++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
@@ -643,37 +643,8 @@ limitations under the License.
                     <li class="has_submenu">
                         <a 
href="/docs/guide/managing/monitor_tune/chapter_overview.html">Performance 
Tuning and Configuration</a>
                         <ul>
-                            <li class="has_submenu">
-                                <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere.html">Improving
 Geode Performance on vSphere</a>
-                                <ul>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_F48990A6A37144988D49E132E17E117C">Operating
 System Guidelines</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_D8393B1A75364E46B0F959F0DE820E9E">NUMA,
 CPU, and BIOS Settings</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5">Physical
 and Virtual NIC Settings</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_E6EB8AB6CCEF435A98B48B867FE9BFEB">VMware
 vSphere vMotion and DRS Cluster Usage</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_E53BBF3D09A54953B02DCE2BD00D51E0">Placement
 and Organization of Virtual Machines</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_567308E9DE07406BB5BF420BE77B6558">Virtual
 Machine Memory Reservation</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_424B940584044CF6A685E86802548A27">vSphere
 High Availability and Apache Geode</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_913B15841C4249A68697F3D91281A645">Storage
 Guidelines</a>
-                                    </li>
-                                    <li>
-                                        <a 
href="/docs/guide/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html#topic_628F038FD4954E56BF4192F17FD3D119">Additional
 Resources</a>
-                                    </li>
-                                </ul>
+                            <li>
+                                <a 
href="/docs/guide/managing/monitor_tune/performance_on_vsphere.html">Improving 
Performance on vSphere</a>
                             </li>
                             <li class="has_submenu">
                                 <a 
href="/docs/guide/managing/monitor_tune/performance_controls.html">Performance 
Controls</a>

http://git-wip-us.apache.org/repos/asf/geode/blob/21373946/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb 
b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
index db09945..34f88f9 100644
--- a/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
+++ b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
@@ -21,7 +21,7 @@ limitations under the License.
 
 A collection of tools and controls allow you to monitor and adjust Apache 
Geode performance.
 
--   **[Improving Geode Performance on 
vSphere](../../managing/monitor_tune/gemfire_performance_on_vsphere.html)**
+-   **[Improving Performance on 
vSphere](../../managing/monitor_tune/performance_on_vsphere.html)**
 
     This topic provides guidelines for tuning vSphere virtualized environments 
that host Apache Geode deployments.
 

http://git-wip-us.apache.org/repos/asf/geode/blob/21373946/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
----------------------------------------------------------------------
diff --git 
a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb 
b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
deleted file mode 100644
index 2be5502..0000000
--- 
a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title:  Improving Geode Performance on vSphere
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-This topic provides guidelines for tuning vSphere virtualized environments 
that host Apache Geode deployments.
-
-Without tuning, Geode can suffer a performance drop in virtual environments, 
including the VMware vSphere virtual platform.
-
-You can expect to see significant performance degradation when running Geode 
on vSphere versus running Geode on dedicated hardware.
-
--   **[Operating System 
Guidelines](gemfire_performance_on_vsphere_guidelines.html#topic_F48990A6A37144988D49E132E17E117C)**
-
-    Use the latest supported version of the guest OS, and use Java large 
paging.
-
--   **[NUMA, CPU, and BIOS 
Settings](gemfire_performance_on_vsphere_guidelines.html#topic_D8393B1A75364E46B0F959F0DE820E9E)**
-
-    This section provides VMware- recommended NUMA, CPU, and BIOS settings for 
your hardware and virtual machines.
-
--   **[Physical and Virtual NIC 
Settings](gemfire_performance_on_vsphere_guidelines.html#topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5)**
-
-    These guidelines help you reduce latency.
-
--   **[VMware vSphere vMotion and DRS Cluster 
Usage](gemfire_performance_on_vsphere_guidelines.html#topic_E6EB8AB6CCEF435A98B48B867FE9BFEB)**
-
-    This topic discusses use limitations of vSphere vMotion, including the use 
of it with DRS.
-
--   **[Placement and Organization of Virtual 
Machines](gemfire_performance_on_vsphere_guidelines.html#topic_E53BBF3D09A54953B02DCE2BD00D51E0)**
-
-    This section provides guidelines on JVM instances and placement of 
redundant copies of cached data.
-
--   **[Virtual Machine Memory 
Reservation](gemfire_performance_on_vsphere_guidelines.html#topic_567308E9DE07406BB5BF420BE77B6558)**
-
-    This section provides guidelines for sizing and setting memory.
-
--   **[vSphere High Availability and Apache 
Geode](gemfire_performance_on_vsphere_guidelines.html#topic_424B940584044CF6A685E86802548A27)**
-
-    On Apache Geode virtual machines, disable vSphere High Availability (HA).
-
--   **[Storage 
Guidelines](gemfire_performance_on_vsphere_guidelines.html#topic_913B15841C4249A68697F3D91281A645)**
-
-    This section provides storage guidelines for persistence files, binaries, 
logs, and more.
-
--   **[Additional 
Resources](gemfire_performance_on_vsphere_guidelines.html#topic_628F038FD4954E56BF4192F17FD3D119)**
-
-    VMware provides additional resources for optimizing vSphere, Java 
applications, and Apache Geode.
-
-

http://git-wip-us.apache.org/repos/asf/geode/blob/21373946/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git 
a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
 
b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
deleted file mode 100644
index b5cb8a2..0000000
--- 
a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: Operating System Guidelines
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<a id="topic_F48990A6A37144988D49E132E17E117C"></a>
-
-
-Use the latest supported version of the guest OS, and use Java large paging.
-
--   **Use the latest supported version of the guest operating system**. This 
guideline is probably the most important. Upgrade the guest OS to a recent 
version supported by Geode. For example, for RHEL, use at least version 7.0 or 
for SLES, use at least 11.0. For Windows, use Windows Server 2012. For RedHat 
Linux users, it is particularly beneficial to use RHEL 7 since there are 
specific enhancements in the RHEL 7 release that improve virtualized latency 
sensitive workloads.
--   **Use Java large paging in guest OS**. Configure Java on the guest OS to 
use large pages. Add the following command line option when launching Java:
-
-    ``` pre
-    -XX:+UseLargePages
-    ```
-
-## <a id="topic_D8393B1A75364E46B0F959F0DE820E9E" 
class="no-quick-link"></a>NUMA, CPU, and BIOS Settings
-
-This section provides VMware- recommended NUMA, CPU, and BIOS settings for 
your hardware and virtual machines.
-
--   Always enable hyper-threading, and do not overcommit CPU.
--   For most production Apache Geode servers, always use virtual machines with 
at least two vCPUs .
--   Apply non-uniform memory access (NUMA) locality by sizing virtual machines 
to fit within the NUMA node.
--   VMware recommends the following BIOS settings:
-    -   **BIOS Power Management Mode:** Maximum Performance.
-    -   **CPU Power and Performance Management Mode:** Maximum Performance.
-    -   **Processor Settings:**Turbo Mode enabled.
-    -   **Processor Settings:**C States disabled.
-
-**Note:**
-Settings may vary slightly depending on your hardware make and model. Use the 
settings above or equivalents as needed.
-
-## <a id="topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5" 
class="no-quick-link"></a>Physical and Virtual NIC Settings
-
-These guidelines help you reduce latency.
-
--   **Physical NIC:** VMware recommends that you disable interrupt coalescing 
on the physical NIC of your ESXi host by using the following command:
-
-    ``` pre
-    ethtool -C vmnicX rx-usecs 0 rx-frames 1 rx-usecs-irq 0 rx-frames-irq 0
-    ```
-
-    where `vmnicX` is the physical NIC as reported by the ESXi command:
-
-    ``` pre
-    esxcli network nic list
-    ```
-
-    You can verify that your settings have taken effect by issuing the command:
-
-    ``` pre
-    ethtool -C vmnicX
-    ```
-
-    If you restart the ESXi host, the above configuration must be reapplied.
-
-    **Note:**
-    Disabling interrupt coalescing can reduce latency in virtual machines; 
however, it can impact performance and cause higher CPU utilization. It can 
also defeat the benefits of Large Receive Offloads (LRO) because some physical 
NICs (such as Intel 10GbE NICs) automatically disable LRO when interrupt 
coalescing is disabled. See 
[http://kb.vmware.com/kb/1027511](http://kb.vmware.com/kb/1027511) for more 
details.
-
--   **Virtual NIC:** Use the following guidelines when configuring your 
virtual NICs:
-    -   Use VMXNET3 virtual NICs for your latency-sensitive or otherwise 
performance-critical virtual machines. See 
[http://kb.vmware.com/kb/1001805](http://kb.vmware.com/kb/1001805) for details 
on selecting the appropriate type of virtual NIC for your virtual machine.
-    -   VMXNET3 supports adaptive interrupt coalescing that can help drive 
high throughput to virtual machines that have multiple vCPUs with parallelized 
workloads (multiple threads), while minimizing latency of virtual interrupt 
delivery. However, if your workload is extremely sensitive to latency, VMware 
recommends that you disable virtual interrupt coalescing for your virtual NICs. 
You can do this programmatically via API or by editing your virtual machine's 
.vmx configuration file. Refer to your vSphere API Reference or VMware ESXi 
documentation for specific instructions.
-
-## <a id="topic_E6EB8AB6CCEF435A98B48B867FE9BFEB" 
class="no-quick-link"></a>VMware vSphere vMotion and DRS Cluster Usage
-
-This topic discusses use limitations of vSphere vMotion, including the use of 
it with DRS.
-
--   When you first commission the data management system, place VMware vSphere 
Distributed Resource Scheduler™ (DRS) in manual mode to prevent an automatic 
VMware vSphere vMotion® operation that can affect response times.
--   Reduce or eliminate the use of vMotion to migrate Geode virtual machines 
when they are under heavy load.
--   Do not allow vMotion migrations with Apache Geode locator processes, as 
the latency introduced to this process can cause other members of the Apache 
Geode servers to falsely suspect that other members are dead.
--   Use dedicated Apache Geode vSphere DRS clusters. This is especially 
important when you consider that the physical NIC and virtual NIC are 
specifically tuned to disable Interrupt Coalescing on every NIC of an ESXi host 
in the cluster. This type of tuning benefits Geode workloads, but it can hurt 
other non-Apache Geode workloads that are memory throughput-bound as opposed to 
latency sensitive as in the case of Apache Geode workloads.
--   If using a dedicated vSphere DRS cluster is not an option, and Apache 
Geode must run in a shared DRS cluster, make sure that DRS rules are set up not 
to perform vMotion migrations on Geode virtual machines.
--   If you must use vMotion for migration, VMware recommends that all vMotion 
migration activity of Apache Geode members occurs over 10GbE, during periods of 
low activity and scheduled maintenance windows.
-
-## <a id="topic_E53BBF3D09A54953B02DCE2BD00D51E0" 
class="no-quick-link"></a>Placement and Organization of Virtual Machines
-
-This section provides guidelines on JVM instances and placement of redundant 
copies of cached data.
-
--   Have one JVM instance per virtual machine.
--   Increasing the heap space to service the demand for more data is better 
than installing a second instance of a JVM on a single virtual machine. If 
increasing the JVM heap size is not an option, consider placing the second JVM 
on a separate newly created virtual machine, thus promoting more effective 
horizontal scalability. As you increase the number of Apache Geode servers, 
also increase the number of virtual machines to maintain a 1:1:1 ratio among 
the Apache Geode server, the JVM, and the virtual machines.
--   Size for a minimum of four vCPU virtual machines with one Apache Geode 
server running in one JVM instance. This allows ample CPU cycles for the 
garbage collector, and the rest for user transactions.
--   Because Apache Geode can place redundant copies of cached data on any 
virtual machine, it is possible to inadvertently place two redundant data 
copies on the same ESX/ESXi host. This is not optimal if a host fails. To 
create a more robust configuration, use VM1-to-VM2 anti-affinity rules, to 
indicate to vSphere that VM1 and VM2 can never be placed on the same host 
because they hold redundant data copies.
-
-## <a id="topic_567308E9DE07406BB5BF420BE77B6558" 
class="no-quick-link"></a>Virtual Machine Memory Reservation
-
-This section provides guidelines for sizing and setting memory.
-
--   Set memory reservation at the virtual machine level so that ESXi provides 
and locks down the needed physical memory upon virtual machine startup. Once 
allocated, ESXi does not allow the memory to be taken away.
--   Do not overcommit memory for Geode hosts.
--   When sizing memory for a Geode server within one JVM on one virtual 
machine, the total reserved memory for the virtual machine should not exceed 
what is available within one NUMA node for optimal performance.
-
-## <a id="topic_424B940584044CF6A685E86802548A27" 
class="no-quick-link"></a>vSphere High Availability and Apache Geode
-
-On Apache Geode virtual machines, disable vSphere High Availability (HA).
-
-If you are using a dedicated Apache Geode DRS cluster, then you can disable HA 
across the cluster. However, if you are using a shared cluster, exclude Geode 
virtual machines from vSphere HA.
-
-Additionally, to support high availability, you can also set up anti-affinity 
rules between the Apache Geode virtual machines to prevent two Apache Geode 
servers from running on the same ESXi host within the same DRS cluster.
-
-## <a id="topic_913B15841C4249A68697F3D91281A645" 
class="no-quick-link"></a>Storage Guidelines
-
-This section provides storage guidelines for persistence files, binaries, 
logs, and more.
-
--   Use the PVSCSI driver for I/O intensive Apache Geode workloads.
--   Align disk partitions at the VMFS and guest operating system levels.
--   Provision VMDK files as eagerzeroedthick to avoid lazy zeroing for Apache 
Geode members.
--   Use separate VMDKs for Apache Geode persistence files, binaries, and logs.
--   Map a dedicated LUN to each VMDK.
--   For Linux virtual machines, use NOOP scheduling as the I/O scheduler 
instead of Completely Fair Queuing (CFQ). Starting with the Linux kernel 2.6, 
CFQ is the default I/O scheduler in many Linux distributions. See 
[http://kb.vmware.com/kb/2011861](http://kb.vmware.com/kb/2011861) for more 
information.
-
-## <a id="topic_628F038FD4954E56BF4192F17FD3D119" 
class="no-quick-link"></a>Additional Resources
-
-VMware provides additional resources for optimizing vSphere, Java 
applications, and Apache Geode.
-
--   "Performance Best Practices for VMware vSphere 5.0" - 
[http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf](http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf)
--   "Best Practices for Performance Tuning of Latency-Sensitive Workloads in 
vSphere Virtual Machines" - 
[http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf](http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf)
--   "Enterprise Java Applications on VMware - Best Practices Guide" - 
[http://www.vmware.com/resources/techresources/1087](http://www.vmware.com/resources/techresources/1087)
--   "High Performance Data with VMware Pivotal™ GemFire® Best Practices 
Guide" - 
[https://www.vmware.com/files/pdf/techpaper/vmw-vfabric-gemFire-best-practices-guide.pdf](https://www.vmware.com/files/pdf/techpaper/vmw-vfabric-gemFire-best-practices-guide.pdf)
-
-

http://git-wip-us.apache.org/repos/asf/geode/blob/21373946/geode-docs/managing/monitor_tune/performance_on_vsphere.html.md.erb
----------------------------------------------------------------------
diff --git 
a/geode-docs/managing/monitor_tune/performance_on_vsphere.html.md.erb 
b/geode-docs/managing/monitor_tune/performance_on_vsphere.html.md.erb
new file mode 100644
index 0000000..ac6fa85
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_on_vsphere.html.md.erb
@@ -0,0 +1,135 @@
+---
+title: Improving Performance on vSphere
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+## <a id="topic_F48990A6A37144988D49E132E17E117C" 
class="no-quick-link"></a>Operating System Guidelines
+
+Use the latest supported version of the guest OS, and use Java large paging.
+
+-   **Use the latest supported version of the guest operating system**. This 
guideline is probably the most important. Upgrade the guest OS to a recent 
version supported by Geode. For example, for RHEL, use at least version 7.0 or 
for SLES, use at least 11.0. For Windows, use Windows Server 2012. For RedHat 
Linux users, it is particularly beneficial to use RHEL 7 since there are 
specific enhancements in the RHEL 7 release that improve virtualized latency 
sensitive workloads.
+-   **Use Java large paging in guest OS**. Configure Java on the guest OS to 
use large pages. Add the following command line option when launching Java:
+
+    ``` pre
+    -XX:+UseLargePages
+    ```
+
+## <a id="topic_D8393B1A75364E46B0F959F0DE820E9E" 
class="no-quick-link"></a>NUMA, CPU, and BIOS Settings
+
+This section provides VMware- recommended NUMA, CPU, and BIOS settings for 
your hardware and virtual machines.
+
+-   Always enable hyper-threading, and do not overcommit CPU.
+-   For most production Apache Geode servers, always use virtual machines with 
at least two vCPUs .
+-   Apply non-uniform memory access (NUMA) locality by sizing virtual machines 
to fit within the NUMA node.
+-   VMware recommends the following BIOS settings:
+    -   **BIOS Power Management Mode:** Maximum Performance.
+    -   **CPU Power and Performance Management Mode:** Maximum Performance.
+    -   **Processor Settings:**Turbo Mode enabled.
+    -   **Processor Settings:**C States disabled.
+
+**Note:**
+Settings may vary slightly depending on your hardware make and model. Use the 
settings above or equivalents as needed.
+
+## <a id="topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5" 
class="no-quick-link"></a>Physical and Virtual NIC Settings
+
+These guidelines help you reduce latency.
+
+-   **Physical NIC:** VMware recommends that you disable interrupt coalescing 
on the physical NIC of your ESXi host by using the following command:
+
+    ``` pre
+    ethtool -C vmnicX rx-usecs 0 rx-frames 1 rx-usecs-irq 0 rx-frames-irq 0
+    ```
+
+    where `vmnicX` is the physical NIC as reported by the ESXi command:
+
+    ``` pre
+    esxcli network nic list
+    ```
+
+    You can verify that your settings have taken effect by issuing the command:
+
+    ``` pre
+    ethtool -C vmnicX
+    ```
+
+    If you restart the ESXi host, the above configuration must be reapplied.
+
+    **Note:**
+    Disabling interrupt coalescing can reduce latency in virtual machines; 
however, it can impact performance and cause higher CPU utilization. It can 
also defeat the benefits of Large Receive Offloads (LRO) because some physical 
NICs (such as Intel 10GbE NICs) automatically disable LRO when interrupt 
coalescing is disabled. See 
[http://kb.vmware.com/kb/1027511](http://kb.vmware.com/kb/1027511) for more 
details.
+
+-   **Virtual NIC:** Use the following guidelines when configuring your 
virtual NICs:
+    -   Use VMXNET3 virtual NICs for your latency-sensitive or otherwise 
performance-critical virtual machines. See 
[http://kb.vmware.com/kb/1001805](http://kb.vmware.com/kb/1001805) for details 
on selecting the appropriate type of virtual NIC for your virtual machine.
+    -   VMXNET3 supports adaptive interrupt coalescing that can help drive 
high throughput to virtual machines that have multiple vCPUs with parallelized 
workloads (multiple threads), while minimizing latency of virtual interrupt 
delivery. However, if your workload is extremely sensitive to latency, VMware 
recommends that you disable virtual interrupt coalescing for your virtual NICs. 
You can do this programmatically via API or by editing your virtual machine's 
.vmx configuration file. Refer to your vSphere API Reference or VMware ESXi 
documentation for specific instructions.
+
+## <a id="topic_E6EB8AB6CCEF435A98B48B867FE9BFEB" 
class="no-quick-link"></a>VMware vSphere vMotion and DRS Cluster Usage
+
+This topic discusses use limitations of vSphere vMotion, including the use of 
it with DRS.
+
+-   When you first commission the data management system, place VMware vSphere 
Distributed Resource Scheduler™ (DRS) in manual mode to prevent an automatic 
VMware vSphere vMotion® operation that can affect response times.
+-   Reduce or eliminate the use of vMotion to migrate Geode virtual machines 
when they are under heavy load.
+-   Do not allow vMotion migrations with Apache Geode locator processes, as 
the latency introduced to this process can cause other members of the Apache 
Geode servers to falsely suspect that other members are dead.
+-   Use dedicated Apache Geode vSphere DRS clusters. This is especially 
important when you consider that the physical NIC and virtual NIC are 
specifically tuned to disable Interrupt Coalescing on every NIC of an ESXi host 
in the cluster. This type of tuning benefits Geode workloads, but it can hurt 
other non-Apache Geode workloads that are memory throughput-bound as opposed to 
latency sensitive as in the case of Apache Geode workloads.
+-   If using a dedicated vSphere DRS cluster is not an option, and Apache 
Geode must run in a shared DRS cluster, make sure that DRS rules are set up not 
to perform vMotion migrations on Geode virtual machines.
+-   If you must use vMotion for migration, VMware recommends that all vMotion 
migration activity of Apache Geode members occurs over 10GbE, during periods of 
low activity and scheduled maintenance windows.
+
+## <a id="topic_E53BBF3D09A54953B02DCE2BD00D51E0" 
class="no-quick-link"></a>Placement and Organization of Virtual Machines
+
+This section provides guidelines on JVM instances and placement of redundant 
copies of cached data.
+
+-   Have one JVM instance per virtual machine.
+-   Increasing the heap space to service the demand for more data is better 
than installing a second instance of a JVM on a single virtual machine. If 
increasing the JVM heap size is not an option, consider placing the second JVM 
on a separate newly created virtual machine, thus promoting more effective 
horizontal scalability. As you increase the number of Apache Geode servers, 
also increase the number of virtual machines to maintain a 1:1:1 ratio among 
the Apache Geode server, the JVM, and the virtual machines.
+-   Size for a minimum of four vCPU virtual machines with one Apache Geode 
server running in one JVM instance. This allows ample CPU cycles for the 
garbage collector, and the rest for user transactions.
+-   Because Apache Geode can place redundant copies of cached data on any 
virtual machine, it is possible to inadvertently place two redundant data 
copies on the same ESX/ESXi host. This is not optimal if a host fails. To 
create a more robust configuration, use VM1-to-VM2 anti-affinity rules, to 
indicate to vSphere that VM1 and VM2 can never be placed on the same host 
because they hold redundant data copies.
+
+## <a id="topic_567308E9DE07406BB5BF420BE77B6558" 
class="no-quick-link"></a>Virtual Machine Memory Reservation
+
+This section provides guidelines for sizing and setting memory.
+
+-   Set memory reservation at the virtual machine level so that ESXi provides 
and locks down the needed physical memory upon virtual machine startup. Once 
allocated, ESXi does not allow the memory to be taken away.
+-   Do not overcommit memory for Geode hosts.
+-   When sizing memory for a Geode server within one JVM on one virtual 
machine, the total reserved memory for the virtual machine should not exceed 
what is available within one NUMA node for optimal performance.
+
+## <a id="topic_424B940584044CF6A685E86802548A27" 
class="no-quick-link"></a>vSphere High Availability and Apache Geode
+
+On Apache Geode virtual machines, disable vSphere High Availability (HA).
+
+If you are using a dedicated Apache Geode DRS cluster, then you can disable HA 
across the cluster. However, if you are using a shared cluster, exclude Geode 
virtual machines from vSphere HA.
+
+Additionally, to support high availability, you can also set up anti-affinity 
rules between the Apache Geode virtual machines to prevent two Apache Geode 
servers from running on the same ESXi host within the same DRS cluster.
+
+## <a id="topic_913B15841C4249A68697F3D91281A645" 
class="no-quick-link"></a>Storage Guidelines
+
+This section provides storage guidelines for persistence files, binaries, 
logs, and more.
+
+-   Use the PVSCSI driver for I/O intensive Apache Geode workloads.
+-   Align disk partitions at the VMFS and guest operating system levels.
+-   Provision VMDK files as eagerzeroedthick to avoid lazy zeroing for Apache 
Geode members.
+-   Use separate VMDKs for Apache Geode persistence files, binaries, and logs.
+-   Map a dedicated LUN to each VMDK.
+-   For Linux virtual machines, use NOOP scheduling as the I/O scheduler 
instead of Completely Fair Queuing (CFQ). Starting with the Linux kernel 2.6, 
CFQ is the default I/O scheduler in many Linux distributions. See 
[http://kb.vmware.com/kb/2011861](http://kb.vmware.com/kb/2011861) for more 
information.
+
+## <a id="topic_628F038FD4954E56BF4192F17FD3D119" 
class="no-quick-link"></a>Additional Resources
+
+These older VMware publications provide additional resources on optimizing 
+for vSphere.
+
+-   "Performance Best Practices for VMware vSphere 5.0" - 
[http://www.vmware.com/pdf/Perf\_Best\_Practices_vSphere5.0.pdf](http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf)
+-   "Best Practices for Performance Tuning of Latency-Sensitive Workloads in 
vSphere Virtual Machines" - 
[http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf](http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf)
+-   "Enterprise Java Applications on VMware - Best Practices Guide" - 
[http://www.vmware.com/resources/techresources/1087](http://www.vmware.com/resources/techresources/1087)
+

Reply via email to