How to choose a really good hosting

    Almost on every site of developers of paid circulation CMS there is a section “Certified Hosting Providers”, or “Recommended Hostings”, or simply “Hostings”.



    The CMS developer checks that the characteristics of the test tariff provided by the hoster comply with the minimum technical requirements of his CMS. Ideally, it installs its system on this test tariff and performs basic operations.

    The hosting provider falls into the list of tested (certified) hosters ... and - usually - this is where all interaction with him ends.

    In the 2008th year, we followed the same path. Some (useful in our opinion) feature was that for successful certification of tariffs, in addition to the actual tests, two of our online courses were required ( “Installation and Setup”and “Configuring” ) by the hosting staff. This gave our clients some guarantee that in case of any problems or questions at this particular hosting, its employees would be ready to provide the necessary assistance.

    However, at the end of 2010, we realized that it was time to change something in our partnership with hosting providers. And that's why…
    • By 2010, our catalog of hosting partners totaled more than 100 companies. Moreover, the catalog was a simple list, there was no rating system. In other words, such a directory became completely useless for end customers, as it did not give any help in choosing the right host.
    • There was no data update. A simple example: Host A created a new hosting tariff called Bitrix, which showed excellent performance. Then, after six months or a year, he scored new servers with clients so that everything just barely moved ... But we, unfortunately, did not know about this.

    The elimination of precisely these key shortcomings (as well as a few additional pleasant features, which will be discussed a little further) is the main goal of the new Recommended Hosting rating catalog , which we opened this year.

    We want to tell you today how we test hosting services, what we pay special attention to, what you should generally keep in mind when choosing a hosting service for any client.
    • Firstly, we have retained all the requirements for hosting providers that existed before (tariff compliance with CMS technical requirements, hosting courses provided by hosters).
    • Secondly, for tariff tests now not only compliance with formal requirements is checked, but a “live” installation of a demo site is also done in order to measure the speed of work using a “performance monitor” .
    • Thirdly, for each tariff in the catalog repeated testing is carried out every 6 months.


    To calculate the position of the host in the ranking, we came up with this formula: I will



    dwell on it in more detail.

    With the test period - everything is clear. The presence of a “simple installation” is the ability to install 1C-Bitrix products directly from the hosting control panel or using the predefined script bitrixsetup.php .

    The main criterion for determining the position of the hoster in the ranking was the ratio “performance / price”.

    The “price” parameter was added very consciously. In recent years, there has been a bad practice with hosting providers: “ We take standard hosting tariffs, slightly tune the parameters on them, add the word“ Bitrix ”and hang up the price tag one and a half to two times more than usual. The client bought a CMS, will buy and hosting! "

    This picture did not suit us, nor customers, nor development partners. If the hoster allocated for special. tariffs separate equipment, made the necessary settings, does not place too many accounts on each server - in this case, the increased price (for quality and comfort) is justified. Just for the name (no differences from standard tariffs) - no.

    If everything is simple and clear with “measuring” prices, then with “performance” everything is not too obvious. I will tell you about it in detail.

    For measurements, we use the capabilities of the standard module of the 1C-Bitrix platform - “Performance Monitor” .



    The “Configuration” tab is responsible for diagnosing the hosting or server and server software settings, the “Bitrix” tab is the settings of the platform itself that can affect performance, “Development” is the quality of the developer code, “Scalability” is a simple built-in tool for carrying out the simplest load tests.

    The most interesting section for us is “Configuration”. We used it when testing hosters.

    One of the most common questions we had to answer was: “ How can we believe your measurement if it measures performance in some obscure“ parrots ”? Why do we get low numbers on powerful hardware? Your formula is lying! "

    And here I will debunk one of the oldest myths. It consists in the fact that there is some kind of magical secret formula that subtly multiplies different numbers from the table (the number of file operations, CPU, database operations, etc.) and gives the final result.

    There is no such formula! :)

    How the performance monitor works

    We request several times (10, to be precise) some system page on which only the core of the product is loaded. Based on the results of 10 measurements, we estimate the average generation time of this page (it is the server time, and not the time the page was sent to the client). This figure is the “average response time”. And the overall outcome index is the reciprocal. In our case - 1 / 0.0137. In other words, on our test hosting in 72 seconds 72 “empty” (only with the kernel) pages can be generated.

    It is this quantity that is important, since it is the customer’s speed with which its website opens (pages are generated), and not each parameter individually. They are indicated rather so that the system administrator (or even just an experienced user) can more quickly and easily determine where the bottlenecks are in his system.

    (You can read more about the performance monitor in the blog of Denis Sharomov , Head of 1C-Bitrix Technical Support Service) We have

    sorted out the formula and will return to our tests.

    The testing experience of several dozens (already close to hundreds) of hostings showed an interesting picture: fortunately, hosters do not save on equipment very often, but, unfortunately, very often “pull” the historical legacy of old configurations and suboptimal hosting structures. "Newcomers" of the market, too, unfortunately, very often do not give maximum performance and make the same common mistakes.

    I wanted to draw attention to some of them. I think it will be useful for those who carefully choose a hosting, testing different options.

    PHP as CGI

    PHP running as CGI (not FastCGI!) Is a terrible atavism. This should not be.

    Why such a scheme is bad. In a nutshell - for each call to the php script, a new PHP interpreter process is launched. All this works very slowly, the performance of the site (any site written in PHP, not only on the 1C-Bitrix platform) will be extremely low.

    Fortunately, such configurations are less and less common (in the last six months in real life, we have not encountered this), but, nevertheless, they still exist.

    The included open_basedir parameter in the PHP configuration.

    Probably everyone knows what this parameter is responsible for - it limits the "scope" of files and directories that PHP can handle.

    Many hosters enable this option on virtual shared hosting in order to ensure the security of user data (restricting access to other users on the same server).

    But not everyone knows that the inclusion of this parameter reduces PHP performance by 10-40%, and on loaded systems (especially with a large number of disk operations) - up to 2-3 times!



    Look, here is the same server on which the test shown above was performed, but only with open_basedir turned on. Page generation speed decreased by almost a half times. We see that the PHP configuration is marked “non-optimal”, and the link “recommendations” can be read in detail about exactly where the problems arise.

    We are fortunate that on this particular hosting we can manage this parameter in PHP. And on many hosting services this is in no way disconnected under any conditions.

    Many hosters object to us: “ Well, you know, it is impossible to disable this on shared hosting ... Otherwise, there will be security problems. "

    This statement is incorrect. There are a variety of methods to maintain a balance of security and performance: starting from launching personal copies of a web server (for example, the same Apache) for different users, ending with using FastCGI via php-fpm. By the way, different hosting providers in our rating use both of them.

    I note once again: this feature of open_basedir’s work is inherent in PHP in general and all projects written in this language, and not just the 1C-Bitrix platform (try searching, for example, in Google “ open_basedir performance ”). If your site is on WordPress, Joomla, Drupal and any other CMS in PHP - pay attention to this.

    PHP precompiler not installed

    Another enemy of performance is the lack of a pre-installed precompiler for PHP on hosting. There are quite a lot of them (APC, eAccelerator, XCache, etc.), and they all do about the same job - they speed up the work of PHP by compiling the interpreted code. Depending on the specific precompiler, its settings (for example, the amount of available memory), the project code, the performance gain can reach several times.

    We will torture our test hosting again, remove the open_basedir included in the previous test and disable the precompiler for a while.

    Fortunately for us, we are doing all these operations on the hosting, where we can all set up “as needed” and finally get a good (fast!) Hosting. On many hosting sites, unfortunately, the set of user-modifiable options is strictly fixed, and it is not possible to achieve good results (except changing the hosting).

    Let's go back to the numbers:



    Please note that server parameters (CPU, disk operations), databases are practically unchanged (of course!), And, well, the correct PHP configuration solves everything.

    Of course, we have listed far from all the things that affect performance. In addition to the actual PHP settings, a lot of database configuration parameters matter, correctly configured web server parameters, well-designed two-level (frontend + backend) architecture ...

    There are hostings (unfortunately, absolutely real), on which everything is bad, and then it turns out such a “thrash and burn”:



    And on good powerful hardware, fast SAS disks, and with proper settings - the site just “flies” (screenshot from a real, not “spherical in vacuum” shared hosting):



    * * *

    Another aspect which, although not described in formal tr Feelings for hosters who want to pass the certification of “1C-Bitrix”, but to which we definitely pay attention -safety . Frankly “leaky” hosting companies never get our “Certified Hosting” and “Recommended Hosting” badges.



    The most common problem is that open_basedir was turned off, but no other means of isolating users were invented. What is the result: all hosting clients work with the same web server, the processes of which are started under the same system user (sometimes it can even be root).

    As a result, each user can “see” not only his files and directories, but also the data of other users.

    The simplest checks can be performed in the 1C-Bitrix administrative interface:



    Of course, among the large well-known hosters, we did not find such frank “holes”, but among those with several dozens / hundreds of clients, it’s very close.

    Be careful and vigilant when choosing a hosting.

    And if the problem described above is quite typical, then there are so careless "hosters" that cause sincere surprise - how they were able to attract at least one client.

    A couple of the most striking examples in our memory.

    Hoster U (because in Ukraine)

    We got a test account, put up a demo site - an online store at the Small Business editorial office (we are testing all hosting providers for uniformity with this edition). We made “ ls –la / tmp ” through the web interface ... and saw dozens of files of the “ login.txt ” type, in which all the parameters of access to FTP, SSH, MySQL of all hosting users were stored.

    Hoster K (in Kazakhstan).

    Standard procedure, test account. Everything is not bad with performance and (at first glance) with security.

    The tests were completed, they went to the site of the hoster itself ... And we found out that the top administrative panel of Bitrix remained above it.

    As it turned out, the hosting site was made on our platform. And it was configured so crookedly that it saved authorization data from subdomains (where there was a test account) on the main site.

    * * *

    I deliberately do not indicate the names of specific hosting services in the text (I may be able to give some specific recommendations for personal communication).

    There is no purpose to denigrate this or that company. The task is to show how many nuances await those who take the issue of hosting choice seriously, and do not act at random (although it may be lucky here;)).

    At the same time, I hope our rating can actually help customers make a choice taking into account the most diverse hosting parameters - performance, the speed of sites on it, the cost of the tariff, the availability of a test period, and usability.

    At the same time, we offer the hosts a clear and transparent ranking scheme in the rating. Thus, we give everyone equal opportunities to be in the top. And thereby - it is very effective (including due to our promotion) to attract new hosting clients! As our statistics show, in one week up to a thousand conversions are carried out from the rating pages to hosted sites. These are almost ready customers. :)

    We will actively develop our hosting rating and hopefully over time we will make an excellent objective rating of the hosting in general, and not just “special for bitrix”. Why not? :)

    Sincerely, Alexander Demidov,
    Head of Rental Solutions, 1C-Bitrix

    Also popular now: