Server 1c on a virtual machine performance. About interesting things from the world of IT, instructions and reviews. About virtual machines

With the help of special VM solutions, you can quickly get an optimally configured server that is not inferior in performance to BitrixVM, and in scalability - superior to the 1C-Bitrix virtual machine. The packages were prepared by 1C-Bitrix specialists and are available for download and use.

1. “1C-Bitrix: Virtual machine 7.3.4”

“1C-Bitrix: Virtual Machine 7.3.4” is specially configured for fast execution of 1C-Bitrix software products: it deploys in minutes and is immediately ready for work! You can not only install trial versions of 1C-Bitrix products on a virtual machine, but also transfer your own, already finished projects.

2. “1C-Bitrix: Web Environment” - Linux

"1C-Bitrix": Web Environment" - Linux is used for quick and easy installation of all software necessary for the operation of 1C-Bitrix products and solutions on the Linux platforms CentOS 6 (i386, x86_64) and CentOS 7 (x86_64).

3. Virtuozzo Application Template for launching an optimized Bitrix VPS

Virtuozzo VZ Application Template package for Bitrix using the 1C-Bitrix: Web Environment solution - Linux 2.0. The template is designed for installing (creating) Virtuozzo containers based on CentOS 6 (i386, x86_64) and CentOS 7 (x86_64) packaged as a Virtuozzo EZ Template.

Installing packages requires administration skills! Get Additional information you can in the Developer Support Center by contacting the community on the BitrixVM forum

About the product

About the product

“1C-Bitrix: Virtual Machine” is specially configured for fast execution of 1C-Bitrix software products: it deploys in minutes and is immediately ready for work! You can not only install trial versions of 1C-Bitrix products on a virtual machine, but also transfer your own, ready-made projects. Moreover, you can run several sites on one virtual machine through the wizard.

Web cluster enabled virtual machine

The virtual machine includes a wizard for creating a cluster, a wizard for adding a slave server, and a wizard for switching a slave server to master mode. Now it takes 5-10 minutes to deploy the cluster. There is no need to install or configure anything.

You can appreciate the benefits of virtual machines right now, even if you have never used them. Download a fully ready-to-use virtual machine. Launch it and see how quickly 1C-Bitrix products work under a properly configured virtual server.

Download and use for free!
Rent at the price of hosting tariff

“1C-Bitrix: Virtual Machine” is implemented using VMware virtualization technologies and can be used in any VMware solutions designed for cloud computing.

How to try?

There are two ways to test a virtual machine:
  • download and run the installation file on your computer yourself (free);
  • rent a hoster’s virtual machine (at the price of the hosting tariff).

"1C-Bitrix: Virtual Machine" is a non-commercial product. At the same time, you can seek help from the 1C-Bitrix Technical Support Center if problems arise in the functioning of our commercial products (“1C-Bitrix: Site Management”, “1C-Bitrix: Corporate Portal” and Solutions) on BitrixVM. But other issues, for example, about changing the BitrixVM configuration, are resolved only by the developer community on the BitrixVM forum.

Composition of the product

“1C-Bitrix: Virtual Machine” emulates the operation of a real computer. The product includes a configured operating system, web server, database, firewall, mail server, as well as a large number of settings on which the reliability, performance and security of the web project depend. You can launch a new project on a Virtual Machine, or transfer a ready-made website to it. It is possible to transfer a website directly from the server to the machine.

The virtual server contains:

  • Operating system - CentOS 7.5 with automatic updates
  • Two-level configuration - NGINX + Apache2
  • MySQL5 with InnoDB support
  • HTTPS support
  • Wizards for setting up a cluster and adding additional sites
  • Sphinx Search Server Configuration Wizard
  • Additional packages: geoip, catdoc, poopler, mc, man, strace, sphinx
  • configured firewall (iptables) and verified configuration security
  • The IP address is obtained via DHCP or set manually
  • easily customizable mail client(msmtp)
  • minimum requirements from memory - 512M
  • maximum volume disk space 100 GB
  • automatic performance optimization for different memory sizes (up to 16 GB)
  • console panel typical actions to manage a virtual server
  • a large number of settings that affect reliability, performance and security
  • The root password is bitrix (will need to be changed upon first login)
  • Bitrix password - bitrix (will need to be changed upon first login)

About virtual machines

Virtual machine technology is becoming more widespread. The market leader is VMWare, Microsoft is actively developing with Hyper-V, Citrix with XEN.

Material from Wikipedia:

What's new?

Version history of BitrixEnv and BitrixVM

The product “1C-Bitrix: Virtual Machine” is constantly being improved and refined. Keep track of changes and new features of the Virtual Machine on this page.

Changes in version 7.3.4

Software Update:
  • push-server 2.0.0
Major fixes:
  • The push-server package has been updated to work correctly on CentOS 7.6. Fixed an issue with starting the push-server service via systemd.

Changes in version 7.3.3

Major fixes:
  • Added automatic inclusion of PHP extensions zip and dom. They have become mandatory, as they are necessary for the operation of the Document Generator module.

Changes in version 7.3.2

Major fixes:
  • Added the ability to enable or disable the yum repository that stores beta versions of virtual machine packages.
  • Fixed a typo in the menu phrase that was causing the default certificate restoration for the site to not work.

Changes in version 7.3.1

Software Update:
  • push-server 2.0.0
Major fixes:
  • Fixed the display of MySQL and PHP update items if the MySQL server version is 5.5 and PHP is updated to 7.0.
  • Added copying of the certificate chain when setting up your own SSL certificate.
  • Easier generation of dhparam.
  • Fixed blocking of the menu when the configuration script is running.
  • Fixed exiting the menu for several items.
  • Fixed menu behavior when monitoring is enabled.

Changes in version 7.3.0

Software Update:
  • nginx 1.14.0
  • hostname 1.0.0
  • php 7.1
Major fixes:
  • Added using php version 7.1 by default.
  • Fixed setting up certificates when access to the site is configured with https.
  • Fixes for package settings (option in dbconn.php and ethtool dependencies).

Changes in version 7.2.2

Major fixes:
  • Fixed a bug with duplicating ntlm settings for the httpd-scale service.

Changes in version 7.2.1

Major fixes:
  • Fixed an error that occurred when creating a site with advanced parameters specified.
  • The phrase in the mail settings for the site has been corrected.

Changes in version 7.2.0

Software Update:
    nginx 1.12.2
Major fixes:
  • Added support for installing certificates: your own and Let's Encrypt.
  • Added the ability to return the site's "default" SSL certificate.
  • Web cluster configuration errors have been fixed.
  • Added the ability to change the hostname after creating a server pool.
  • The procedure for updating MySQL server settings in a pool has been fixed.
  • Security fixes for nginx and httpd configuration files.
  • Errors in creating sites have been fixed if there is not a single working site on the server.
  • Added removal of servers from monitoring when they are removed from the server pool.

Changes in version 7.1.0

Software Update:
  • nginx 1.12
  • mysql 5.7
  • nodejs push-server 1.0.0
Major fixes:
  • New version of mysql server. Added an update wizard to the menu for existing installations.
  • Added the ability to configure a new push-server.
  • Fixed lsyncd server configuration error
  • The procedure for updating a machine in the pool has been fixed; the ability to run a full update from the menu has been added
  • Security fixes for nginx configuration files
  • Added X-Frame-Options for online chats
  • Fixed launch of smtp service

Changes in version 7.0.1

  • The proxy_ignore_client_abort option has been added when creating new sites, and a separate menu item has been added for configuring existing sites.
  • Added settings for fast file upload via nginx for external storages: Clodo, Rackspace, Google Storage and Selectel.
  • Added generation of DH parameters for ssl connection.
  • Fixed lsyncd service configuration for Cent OS 6.
  • The index name generation procedure has been changed.
  • Fixed an error in setting up monitoring in the system.
  • Fixed an error configuring the mysql service after it was stopped in the system.
  • Fixed error when changing the password for the mysql service.
  • Fixed an error in obtaining the mysql service status for a localized version of the OS.
  • The procedure for changing the password for hosts without installed/configured sites has been fixed.

Changes in version 7.0.0

  • CentOS 7 (x86_64) becomes the main distribution for 1C-Bitrix: Virtual Machine 7.0. The images work under CentOS 7 (x86_64), rpm packages are still available on CentOS 6 (i386, x86_64).
  • Software Update:
    • nginx up to version 1.10.2
    • sphinx 2.2.11
    • php 7.0
    • ansible 2.2
  • Fixed virtual machine scripts to work with Ansible 2.2. The ansible package is now available via the Bitrix repository.
  • The procedure for generating passwords in the machine has been fixed, support for special functions has been added. characters.
  • Added a procedure for automatically creating a password for the mysql service when the machine first starts and when installing via bitrix-env.sh.
  • PHP 7.0 is used by default. Added the ability to roll back the version to PHP 5.6 if necessary. When upgrading a virtual machine from 5.1 to 7.0, in the same menu item you can perform the upgrade procedure from PHP 5.6 to 7.0.
  • Added the ability to create your own rules for iptables/firewalld.
  • Errors in the menu operation in the case of several IP addresses on one network interface have been fixed.
  • The procedure for setting up a web cluster is divided into two steps that can be run separately from each other: data synchronization and setting up the web environment.
  • The default data synchronization service is lsyncd.
  • Errors have been fixed when deleting a machine from a server pool.

Changes in version 5.1.8

The virtual machine scripts have been fixed to work with Anaible 2.1.0.

Changes in version 5.1.7

Software update: nginx - 1.8.1

Changes in version 5.1.6

  • ANSIBLE: Support for working with ansible 2.0.1
  • Description: Fixed virtual machine scripts to work with Anaible 2.0.1

Changes in version 5.1.5

A number of changes have been made to improve the performance of the 1C-Bitrix: Virtual Machine product.

Changes in version 5.1.4

  • Added removal of pool configuration, for cases when it is necessary to recreate it.
  • Added the ability to remove servers from the pool that are disabled or unavailable for one reason or another.
  • Added the ability to update PHP to version 5.6.
  • Added the ability to set the authorization method when setting up mail.
  • Added the ability to set cron settings or hits for a site during its creation.
  • Added the ability to configure email notifications for the Nagios monitoring system.
  • Added the ability to set a personal login and password for Nagios and Munin monitoring systems.

Changes in version 5.1.3

Now, when adding a server to AD, you can specify an arbitrary NETBIOS name that is different from the machine name.

Bugs fixed:

  • connecting the server to a domain with localized group names;
  • creating incorrect configuration files for the samba server;
  • impossibility of changing the domain for the server;
  • creating websites in cp1251 encoding;
  • creating an invalid link in case of an https request.

Change in version 5.1.2

When creating mail for a site, the msmtp profile is registered for cron. This way, the configured mail for the site starts working if the job is transferred to cron.

Changes in version 5.1.1

  1. Changed the behavior of disabling php modules through configuration files. Allows you to avoid including “unwanted” PHP modules when updating PHP packages.
  2. Added the ability to set the root password by creating the /root.my.cnf file when updating the mysql server.

Changes in version 5.1.0

Major changes
  1. Added the ability to configure the delivery of a composite cache via nginx, if it is configured on the site
  2. Software Update:
  • php-5.4
  • mysql-5.5
  • nginx - 1.6.2
  • Support for external kernels (ext_kernel) for websites
    For this type of site:
    • no access via web
    • you can use them to create a link
    • all cluster functions supported (mysql, web)
  • The dependence of creating the memcached and sphinx roles on the cluster and searchd modules installed on sites has been removed. If the module is missing on the site, the service will be added. But at the same time it will not be registered in the corresponding site model
  • Added restrictions on creating a cluster configuration (mysql, web) in the following cases:
    • if there is more than one site of type kernel (kernel) or external kernel (ext_kernel) on the server
    • cluster or scale module not installed
  • ntlm update (fixed errors in synchronizing calendars and contacts; added the ability to update the configuration of several sites if NTLM is already configured for the server)
  • Added HVM images (Frankfurt and not only)


  • Changes in version 5.0

    New:
    • Added work with dynamic addresses (updating the list of servers in the pool; if the address on one of the pool servers is updated, the access settings, as well as the access configuration, change). Wiki article
    • Changed work with sites:
      • added detection of whether the scale and/or cluster module is installed on the site; site-based operations are allowed for such sites: setting up email, enabling/disabling https-only mode, setting Reserve copy, but such sites do not participate in cluster operations: memcached, mysql, apache
      • in case of an error on one of the installed sites installed on the server, such site will not participate in any of the operations in the cluster, a list of such sites and their errors can be found in paragraph 6, subparagraph 8
    • API for hosters
    Corrections:
    • Working with subinterfaces, in previous version were not detected correctly, which did not allow working in OpenVZ/Virtuozzo containers
    • Incorrect determination of what mode the server is operating in (with or without a balancer) led to the following errors:
      • creating a website on port 8080
      • Enabling HTTPS-ONLY mode did not work
      • links to the https version of the site were created incorrectly
    • Domain names were used in configs nginx servers(allow/deny rules), if the user specified an FQDN when creating a master or adding a new server to the pool, which led to service restart errors

    Changes in version 4.3:

    • the settings of the nginx-push-stream-module module have been changed, the ability to work via websocket has been added and standard ports 80, 443
    • Configuration files reworked, comments added
    • fixed loss of get parameters in dav
    • nginx-push-stream-module, nginx, apc module updated
    • added sphinx setup and connection wizard
    • Auto-scaling parameters expanded to 16 GB

    Changes in version 4.2:

    • nginx-push-stream-module settings have been changed to support push & pull correctly
    • php json module is enabled by default
    • fixed rpm package behavior when updating
    • fixed staging in cron tasks munin and nagios permission checks
    • fixed rules for nginx processing of combined css
    • added rules for nginx processing of combined js
    • Correct nginx response headers are set when displaying custom errors
    • fixed definition of variables in nginx
    • Library dependencies have been fixed in BitrixVM

    Changes in version 4.1:

    • CentOS updated to version 6.3
    • fixed the wizard for adding additional sites
    • The backup setup wizard has been fixed, the archive format has been made compatible with restore.php
    • The service for setting parameters of the bvat system has been improved
    • 404 error handling for static content has been moved to nginx
    • nginx fixed 404 error handling for dynamic content
    • error pages added to nginx
    • Correct processing of calendars has been added to nginx
    • to support the push & pull module, nginx is compiled with the nginx-push-stream-module module
    • The mechanism for working with the Bitrix html cache in nginx has been fixed
    • added system update wizard
    • changes aimed at improving system security

    Changes in version 4.0:

    • operating system CentOS 6.2 i386
    • Removed a number of VMWare components that led to problems after virtual machine updates
    • standard virtual machine disk size increased to 10 GB
    • ZendServer replaced by Apache and APC
    • The connection scheme for Nginx and Apache configuration files has been changed to minimize problems when updating or installing additional packages
    • The ntlm authorization mechanism has been changed and the BitrixEnv4 package has been added to the rpm
    • creation wizards added backup copy site on a schedule, deleting settings for additional sites, setting up system monitoring (munin, nagios)
    • changes aimed at improving system security
    • The wizard for creating additional sites has been improved
    • The operation of the bvat system parameter settings service has been adjusted
    • added Mercurial version control system

    Changes in version 3.1:

    • updated version of nginx 1.1.0, with upstream_keepalive patch
    • expanded set of pre-installed packages (htop, samba, etc.)
    • ntlm authorization setup wizard

    Changes in version 3.0:

    • operating system CentOS 6.0 i386
    • file system ext4
    • updated version of nginx 1.0.6, configuration changes
    • updated version of msmtp 1.4.24, changes in the setup wizard
    • replacing xpdf with poppler
    • corrections have been made to the mysql configuration
    • the set of pre-installed packages has been expanded in the virtual machine (mc, strace, man, etc.)
    • added the ability to create additional sites, both on a separate core and as part of multisite
    • added wizards: creating a master node of the cluster, adding a slave node to the cluster, changing the role of a slave node to master
    • GeoIP databases updated

    Main changes in version 2.0:

    • php-5.3.3 or php-5.2 (version php-5.3.3 lacks the Zend Guard Loader component, i.e. encoded files will not work);
    • PHP parameters have been changed for optimal operation of Bitrix products
    • added xdebug module (not active by default, to activate it is enough to uncomment the corresponding line in php.ini and restart apache);
    • updated version of nginx 0.7.67, configuration changes;
    • the list of operating systems for installing Fedora 8-14 (i386 only), server CentOS/RHEL/OEL 5 (i386 and x86_64) has been expanded;
    • disabling duplicate compression in product configuration (now only nginx compresses data);
    • Troubleshooting msmtp mail program configuration problems;
    • Auto-update of packages (via yum) is disabled when restarting the server;
    • Minor comments and errors have been fixed.
    Packages tested on Fedora 8,12,14(i386), CentOS/OEL 5(i386/x86_64). Fedora 14 has minor issues related to OS bugs.

    Changes in version 1.6:

    • By default, the Virtual Machine site is now accessible over both HTTP and HTTPS protocols, and the Zend Server control panel is disabled to save resources. Both of these options are still well managed through the root user menu.
    • Added support for the SMTP server that appeared in 1C-Bitrix: Corporate Portal 9.0, which starts automatically if configured correctly.
    • After updating the product, search in PDF files becomes available.
    • All software packages have been updated, including Zend-Server-CE (very seriously updated), the php-5.2-memcache module has been added to use caching in RAM.
    • Changes have been made to the NGINX configuration to process cached PHP pages (HTML caching technology), errors in processing WebDAV requests have been fixed, and scalability has been improved. IN APACHE configurations Fixed errors that caused, in particular, errors during the “classic” loading of pictures into the photo gallery (via java-applet). Added processing of document types docx, xlsx, pptx.
    • The bitrixsetup start script has been improved, localizations have been added for English and German.

    Changes in version 1.5

    • all Ubuntu 8.0.4 OS packages have been updated, as well as Zend Serevr CE 4.0.3, PHP 5.2.10 application packages;
    • improved nginx configuration in terms of compression;
    • changes in the console menu: when the Zend panel is disabled, the corresponding service stops, which allows saving RAM of the Virtual Machine;
    • system improvements regarding the use of RAM: The virtual machine runs satisfactorily on 160 MB of RAM, although the basic recommendation for the size of RAM remains the same - 256 MB of RAM;
    • updated bitrixsetup.php - allows you to install additional applications"1C-Bitrix".

    Changes in the new version 1.4

    Added installation using BitrixSetup.

    Changes in version 1.3

    The new edition of VMBitrix is ​​implemented according to the VMware Virtual Appliance standard!

    General configuration:

    • the home directory of the bitrix user is separate from the webroot;
    • Before the initial login via ssh/console to change the default password (bitrix), you cannot connect via SFTP and HTTPS to manage the server. This does not affect the launch of bitrix_setup and installation of the product;
    • EULA removed.
    Error correction:
    • fixed test SSL certificate;
    • console menu: fixed error in mail configuration, removed menu items for configuring IP - this is available in VMware tools;
    • nginx configuration: fixed WebDAV errors (for proper operation needs to be updated to 8.0.2), 400 Bad Request while creating new topic, synchronization with Outlook;
    • Fixed a bug when launching XMPP.
    Applications:
    • additional packages installed: catdoc, memcached, xpdf;
    • reworked and fixed the bitrix_setup script;
    • nginx updated to version 0.7.62 (security bug - Critical vulnerability in the Nginx http server);
    • The script for auto-configuring service parameters has been modified to provide high performance with RAM values ​​up to 2 GB;
    • changes necessary for the correct operation of the VM have been made to the distribution kits of 1C-Bitrix products.

    Advantages

    Advantages

    “1C-Bitrix: Virtual Machine” is an excellent solution to the problem of high-quality configuration of hosting and dedicated servers. Usually, in order to achieve high project performance, you need to configure the server software, OS, and hardware yourself. In addition, it is important to ensure safety. And in “1C-Bitrix: Virtual Machine” all these settings have already been completed. As a result, you save time and money on server deployment and configuration, on purchasing necessary equipment, on ensuring the safety of the project.

    Everything is ready to go!

    The virtual server is ready for immediate use. This means that 1C-Bitrix products will work quickly on the server, and most of the services here are not just configured, but work perfectly.

    After installing the virtual machine:

    • you can use the cluster setup wizard and add additional sites;
    • the menu allows you to configure sending mail through an external SMTP server;
    • if you configure an SMTP gateway, mail can be routed within the organization;
    • the instant messaging server (XMPP/JABBER server) is configured and running (automatically starts);
    • Miranda, QIP and other messenger programs can be configured to work with the Internet/Intranet portal;
    • indexing is configured office documents;
    • WebDAV is configured and running;
    • HTTPS support for the Corporate Portal;
    • SSL support for XMPP

    Saving

    There are significant savings for the company:

    • on deployment time;
    • on equipment;
    • on operating costs.

    Rent

    The product “1C-Bitrix: Virtual Machine” can be rented from hosting providers. You can rent a virtual machine using any virtualization technology: VMware, Parallels Virtuozzo Containers, Amazon EC2 (AMI), Open VZ, Citrix.

    Initially, virtualization was only program level and the advantages of virtualization were offset by a significant slowdown in work in a virtual environment. The issue was partially resolved in hardware - vendors developed instructions Intel processors VT-d, AMD-V, etc. to speed up work. However, memory and processor are not the only components, there is also a video card, hard disks and so on. and the speed of operations directly depends on the implementation of access to them. Those. Depending on the manufacturer of the virtual machine, drivers from the equipment manufacturer, and the ability of the final software to recognize virtualization, the speed of operation still depends significantly.
    Different applications slow down differently in virtual reality.
    In addition to the hardware costs of maintaining virtualization software, another slowing factor is the organization of the passage of time. The flow speed in the physical gland and the virtual gland are not the same. Plus, the virtual machine can be paused. The complexity of implementing timers, synchronizer switches, and intercepting physical hardware resources in a virtual system does not allow solving the problem one-to-one as on physical hardware; a lot depends on the specific vendor.

    We conducted a test to study threading speed to assess how much virtualization can affect the speed of single-threaded tasks in 1C, including interface operations.

    From the results obtained, the most important conclusion is not the numbers, but the fact that experience is still required to find in practice, and not theoretically, the optimal option for operating 1C for your specific load.
    The effect of the virtualization layer is especially noticeable on very fast operations. information base 1C and this is logical. The shorter the operation time, the longer it is comparable to the latency time for servicing the virtualization layer.
    In other words, if we perform one long surgery thousand seconds, then a lag of one tenth for virtualization maintenance will be a drop in the ocean and not noticeable. But if we perform ten thousand operations with each operation taking one tenth of a second, then service delays will be noticeable since they will be commensurate with the duration of the operation.

    WHAT TO DO

    There are two ways to solve the problem.
    1st method. If you cannot achieve the desired performance with your virtualization settings, use physical hardware.
    2nd method. Minimize virtualization lags by selecting settings that match the nature of the load. At the same time, you need to understand that virtualization is not 100% analogous to physical equipment and you need to compensate for the speed with more powerful physical equipment.
    Some vendors provide increased speed through caching mechanisms built into the virtualization layer. However, the cache may be “broken” and then there will be a sharp drop in performance. Those. We must remember not only about the advantages of technology, but also about the disadvantages.

    1. “Snapshots” should be turned off - they slow down. Moreover, the influence is far from obvious. For details see http://vkeygen.blogspot.ru/2011/10/snapshot.html

    Microsoft Hyper-V

    - when using Hyper-V servers with NUMA nodes

    VMware ESXi & vSphere

    Collective use of virtual machines for load balancing
    The problem lies in the operation of a vCenter component called DRS (Distributed Resource Scheduler), whose task is to balance the load of virtual machines on physical servers.When heavy loads appear in terms of processor power or RAM load, DRS migrates the virtual machine to another physical host that is least loaded at the moment; at the climax this process short-term problems arise with access to the resources of this VM.

    NET

    For ESXi 6.0 virtual servers with 1c server, do not use network interfaces of the WMXNET3 type, use only the e1000e type

    RAM

    - Disable memory deduplication for EXSi - Transparent Page Sharing on the VMware ESXi host

    If you want to disable this mechanism right now, then you need to do the following:

    In older versions


    After the patch and ESXi updates, the TPS mechanism can be enabled as follows (Advanced Settings in the Software section):

    • Parameter Mem.ShareForceSalting(enable TPS at the entire ESXi host level). If the value is 0, then TPS is still running on the host, if 1, the mechanism is disabled.
    • Parameter sched.mem.pshare.salt(set at the VM level) allows you to enable/disable TPS for individual virtual machines (for example, old Windows or Linux - you could enable it for them). When the ShareForceSalting parameter is set to 1, then for machines that need TPS in their Advanced Configuration, you need to set the same salt values. Without this, TPS does not work - accordingly, it is disabled.

    CPU

    — Enable maximum performance power supply

    — vSphere knows very well about and tries to place virtual machine kernels on those physical processors in whose memory the RAM virtual machine. But here pitfalls arise. Server manufacturers like to include NUMA emulation in the BIOS by default. That is, the server appears to the operating system as a NON-NUMA device, and vSphere cannot use its optimizations to manage this technology. The vSphere documentation recommends disabling this option in the BIOS; this allows vSphere to deal with the issue on its own.

    DRIVER

    — Install VMware Tools Guest Additions

    The first thing you need to do after installing the guest operating system inside the virtual machine is to install software package– VMware Tools Guest Additions for VMware. These packages contain special drivers that provide more fast work guest operating system on virtual machine hardware.

    Select Install VMware Tools from the virtual machine menu. Follow the instructions on your screen to complete the installation. If you are using a Windows guest OS, then you will see that this process is no different from installing other applications.

    Checking VMware Tools.

    • Select a host in vClient;
    • Go to the tab Virtual Machines;
    • Add a column "VMware Tools Status";
    • Assess the status. OK->that means everything is fine, you don’t need to do anything. Not Running/Out of date - eliminated.

    If VMware Tools is not running, you need to deal with the guest operating system. The reason may be an update to the Linux kernel or a disabled (by someone) VMware Tools service in Windows.

    If VMware Tools are out of date, you need to update them from context menu vClient. Typically, this happens after installing updates on ESX/ESXi hosts. After this, you often need to update VMware Tools.

    DISCS

    — When using external storage

    • Independent Persistent Mode of a vmdk disk is the most productive, since changes are made directly to the disk without being logged. But such a disk is not subject to snapshots and cannot be rolled back.
    • When using iSCSI, it is recommended to configure jumbo frames (MTA=9000) on all interfaces and network equipment.
    • MultiPathing - for most cases RoundRobin - OK. Fixed can give better performance, but that is after thoughtful planning and manual configuration of each host down to each LUN. MRU can be installed in an active-passive configuration if some paths disappear from time to time - so as not to jump back and forth.

    What does abandoning virtualization look like in practice? Virtualization does not always slow things down significantly, but the nature of the load and the volume of data also matter.

    Source website: http://www.gilev.ru/virtual/

    1. “Snapshots” must be turned off - they slow down. Moreover, the influence is far from obvious. For details see http://vkeygen.blogspot.ru/2011/10/snapshot.html

    – When using external storage

    • Independent Persistent Mode of a vmdk disk is the most productive, since changes are made directly to the disk without being logged. But such a disk is not subject to snapshots and cannot be rolled back.
    • When using iSCSI, it is recommended to configure jumbo frames (MTA=9000) on all interfaces and network equipment.
    • MultiPathing - for most cases RoundRobin - OK. Fixed can give better performance, but that is after thoughtful planning and manual configuration of each host down to each LUN. MRU can be installed in an active-passive configuration if some paths disappear from time to time - so as not to jump back and forth.

    What does abandoning virtualization look like in practice? Virtualization does not always slow things down significantly; nevertheless, the nature of the load and the volume of data also matter.

    I present my experimental project VM1C. VM1C is a virtual machine that allows you to compile and execute any procedures and functions, as well as entire modules, on the fly.

    Essentially, this is the missing full-fledged Reflection feature in 1C, which is present on other platforms, for example on .NET, and allows you to do truly mind-blowing things there.

    For those unfamiliar with Reflection: Wikipedia

    Description of work

    VM1C works without using any external components using only staffing capabilities 1C, does not depend on the platform and configuration. Can be added to the configuration either as processing or as a general module.

    VM1C includes:

    Let's look at each component separately

    VM1C_IL_Compiler- its task is to convert the source text of a module or method into a set of short assembly instructions.

    For example the following code

    For n=1 For 100 Cycle n = n+1; EndCycle; Return n;

    will be converted to a set of instructions

    push 1 stloc 0 push 100 stloc 1 br ~IL_1 ~IL_2: ldloc 0 push 1 add stloc 0 ldloc 0 push 1 add stloc 0 ~IL_1: ldloc 0 ldloc 1 ble ~IL_2 ~IL_0: nop ldloc 0 ret

    This is done in order to

    1. speed up further code processing in real time. Since the compilation process itself takes a relatively long time
    2. provide the ability to create and perform procedures and functions in 1C Enterprise mode

    Vm1C_IL_Compiler = Processing._VM1C_IL_Compiler.Create(); Module text = LoadCodeFromFile("Modules\WorkingwithProducts"); module = vm1C_IL_Compiler.CompileModule(Moduletext);

    Once we have the intermediate code (IL code), we can execute it in the virtual machine.

    Virtual machineVM1Callows, on the fly, using a JIT compiler, to compile a module from IL code back into understandable 1C code. The compiled code is optimized, cached for later reuse, and can be executed.

    Vm1C_VM = Processing._VM1C_VM.Create(); vm1C_VM.AddModule("WorkwithProducts", module); parameters = New Array(); parameters.Add("00000453"); Result = vm1C_VM.CallMethod("WorkwithProducts", "GetPrice", parameters);

    MethodInfo = vm1C_VM.GetCurrentMethodInfo(); parameters = methodInfo["Parameters"]; ...

    get function code

    ByteCode = methodInfo["ByteCode"];

    change it, add parameters and call it again in a modified form, etc.

    Conclusion

    The project is now at the stage of a raw alpha version, so I’m only posting its description and demo video.


    The purpose of this publication is to assess the need for this product, how useful it can be for developers, in cases where standard means is no longer enough to implement the most innovative ideas.

    If anyone is interested this development, please be sure to let me know!

    Demonstration of work

    Sincerely,

    developer m.bolsun

    (c) 2013-2014 VM1C

    Update: the publication was in drafts for a long time, because... Apart from academic interest, no practical application was immediately found this project. But recently I managed to use its capabilities in practice and it was decided to return the publication. Soon technologies from this project will be used in a new Code versions Inspector.

    Thanks to the new full-fledged compiler, the Inspector will receive static analysis and, accordingly, a number of new features:

    Checking that the condition is always True or False and that the function returns the same value. Checking not only the last unused values ​​of variables, but also intermediate assignments, taking into account loops and branches. Code analysis in accordance with preprocessor instructions (On Server, On Client, etc.). Well, and much more.

    1C-Bitrix: Virtual Machine" was developed directly for the needs of projects on 1C-Bitrix. The undeniable advantage of this software product is its initial configuration, which is an example of ideal settings virtual server under Bitrix. “1C-Bitrix: virtual machine” has been tested and configured to work with both 1C-Bitrix products and any PHP applications.

    What is a “Virtual Machine” for?

    Using "1C-Bitrix: Virtual Machine" will allow your projects to show consistently high performance indicators. In addition to simplicity and ease of use, it allows you to significantly reduce the time for administering a website created on the basis of 1C-Bitrix products and setting up the server, as well as on the equipment. Using "1C-Bitrix: Virtual Machine" you can create a new project or transfer an existing one.

    Full access at the administrator level makes it possible to install any software using a virtual machine for 1C-Bitrix and make changes to the settings of the BitrixVM virtual server.

    What version is being installed?

    You get the most new version programs. To date, the latest version of this software product is “1C-Bitrix: virtual machine 7.0” c latest version PHP, which gives a noticeable performance boost.

    How to order a virtual machine?

    For all our clients, the 1C-Bitrix virtual machine is provided free of charge when ordering any VPS server for CMS Bitrix and is ready for use immediately after unfolding, which takes just a few minutes.

    How to pay for VPS?

    To pay for VPS, select the desired tariff in the table and click the “Order” button.