Што сайту на 1С-Бітрыкс сапраўды трэба ад хостынгу
BitrixEnv, налады PHP і MySQL, манітор прадукцыйнасці, кампазіт, агенты на cron і абмен з 1С — што праект на Бітрыксе патрабуе ад сервера.

1С-Бітрыкс — не тая CMS, якую можна распакаваць на любым PHP-хостынгу і забыцца. Гэта вялікі фрэймворк са сваімі патрабаваннямі да сервера, і вендар апісвае іх у выглядзе эталоннага асяроддзя: BitrixVM — гатовая віртуальная машына, BitrixEnv — тое ж асяроддзе, якое ўсталёўваецца скрыптам на чысты Linux. Выкарыстоўваць іх не абавязкова, але гэта лепшая спецыфікацыя таго, што патрэбна платформе: nginx перад Apache або PHP-FPM, пэўны набор пашырэнняў PHP, настроены MySQL, memcached або Redis і cron. Добры хостынг пад Бітрыкс узнаўляе гэтае асяроддзе, а не ставіць прадукт па-над звычайным shared-стэкам.
З боку PHP часцей за ўсё не праходзяць простыя праверкі. memory_limit — не менш за 256 МБ, а для імпарту і працы з каталогам у адмінцы надзейней 512 МБ. max_input_vars — каля 10 000, інакш вялікія формы, такія як правы доступу і ўласцівасці тавараў, моўчкі абразаюцца. OPcache абавязковы, і памяці яму трэба дастаткова для тысяч файлаў ядра. mbstring.func_overload на актуальных версіях павінен быць выключаны, кадоўка — UTF-8. У MySQL галоўнае — innodb_buffer_pool_size, каб гарачая частка базы змяшчалася ў памяці, нястрогі sql_mode, якога чакае Бітрыкс, і лог павольных запытаў, які нехта сапраўды чытае.
У платформы ёсць уласны спосаб ацаніць сервер — «Манітор прадукцыйнасці» з модуля perfmon, у рускім інтэрфейсе «Монитор производительности». Тэст канфігурацыі праганяе фіксаваны набор аперацый PHP, файлавай сістэмы і базы даных і выдае адну лічбу. Яна адносная: чым больш, тым лепш, і параўноўваць яе трэба з эталоннымі значэннямі вендара і з уласнымі мінулымі замерамі, а не ўспрымаць як абсалют. Запускайце тэст некалькі разоў у розны час: калі адзнака моцна скача, у вас шумны сусед або дыск упіраецца ў ліміты. Не менш карысныя ўкладкі з наладамі PHP, базы і самога Бітрыкса — усё, што разыходзіцца з рэкамендацыямі, там падсвечана чырвоным.
Асноўная хуткасць Бітрыкса — гэта кэш. Уключыце кампазітны сайт: статычная частка старонкі аддаецца гатовай, а дынамічна падгружаюцца толькі персанальныя блокі накшталт кошыка. Кіраваны кэш перавядзіце з файлаў у memcached або Redis праз .settings.php — на вялікім каталогу тысячы дробных файлаў кэша на дыску самі становяцца вузкім месцам. Потым здыміце агентаў з хітоў. Па змаўчанні Бітрыкс выконвае фонавыя задачы — рассылкі, пераіндэксацыю пошуку, крокі абмену — падчас запытаў наведвальнікаў, і выпадковы пакупнік плаціць за іх павольнай старонкай. Агенты на cron з запускам cron_events.php штохвілінна прыбіраюць гэтую латарэю.
Абмен з 1С — самая цяжкая аперацыя на большасці сайтаў на Бітрыксе. Уліковая сістэма выгружае XML у фармаце CommerceML — каталог, цэны, рэшткі, — файлы лёгка дарастаюць да соцень мегабайт, а сайт імпартуе іх пакрокава. Кожны крок павінен змясціцца ў працягласць кроку з налад модуля каталога, у max_execution_time і ў таймаўты вэб-сервера, інакш 1С атрымлівае памылку і паўтарае абмен па коле. Памяць важная не менш: разбор вялікага файла прапаноў пры нізкім memory_limit падае з фатальнай памылкай на сярэдзіне. Пакіньце месца на дыску пад архівы і распакаваныя файлы, падніміце upload_max_filesize і post_max_size, а поўны абмен стаўце на ноч.
Рэсурсы вызначаюцца тыпам праекта мацней, чым лічбай наведвальнасці. Карпаратыўнаму сайту на некалькі соцень старонак з формай зваротнай сувязі камфортна на 2 vCPU і 4 ГБ памяці — гэта тарыф «Бітрыкс Старт». Інтэрнэт-краме з жывымі заказамі, каталогам на дзясяткі тысяч пазіцый і рэгулярным абменам з 1С патрэбны запас, каб імпарт ішоў паралельна з пакупнікамі, — пад гэта разлічана «Бітрыкс Крама» з 4 vCPU і 8 ГБ. B2B-парталу з персанальнымі прайсамі, некалькімі складамі і цяжкімі інтэграцыямі месца на «Бітрыкс Enterprise» з 8 vCPU і 24 ГБ. Ва ўсе тарыфы хостынгу для 1С-Бітрыкс уваходзіць тэставая копія — яна спатрэбіцца перад кожным абнаўленнем платформы.
І нарэшце, ліцэнзію і хостынг варта выбіраць разам, бо рэдакцыя вызначае нагрузку. «Старт» — гэта адзін сайт і базавыя модулі; для інтэрнэт-крамы патрэбна як мінімум рэдакцыя «Бізнес» з аплатай і дастаўкай; мультысайтавасць і вэб-кластар — гэта ўжо Enterprise. Браць крамны тарыф пад «Старт» — пераплата, а запускаць Enterprise-партал на маленькім тарыфе — дарэмна купленая ліцэнзія. У WebHostFlow можна купіць ліцэнзію 1С разам з хостынгам: ключ выпускаецца на ваш акаўнт, падтрымка актывуе яго на сайце, прадаўжэнне ідзе адным рахункам, а пераход на старэйшую рэдакцыю пазней каштуе толькі розніцу.
