Что лучше apache или iis для 1с

Обновлено: 07.07.2024

Собственно купили новый сервер, думаю что на нем лучше поднять.

ОС Windows Server 2008R2

Я покопался в сети, но так и не нашел нормальных тестов на скорость работы

Андроид гамно, айфон рулит

(2) потому что устанавливается и настраивается все за 2 минуты 40 секунд.

(4)из коробки и конифгурить проще (опять же имхо)

(7) согласен, но потерять еще 3 минуты для настройки IIS мне кажется не критично

Никаких геморов с правами/ошибками/установками.

(0) однозначно, апач на другой машине)

(12) Сейчас пользуюсь Апачем на УТ11, 25 подключений. Тормоза присутствуют. Вот стало интересно, не исправит ли IIS ситуацию

Удобнее тот сервер, под который твой админ хорошо заточен

(17) в апаче тоже ничего настраивать не надо

Прозрачный сразу работающий механизм

(16) а какие с Апачем проблемы?

(17) а че в Апаче настраивать то нужно? а то я по наивности просто запускал и всё

можно вкупе с nginx+memcached

(17) Справедливости ради, нужно отметить, что вебсервисы с Апачем настраиваются проще, чем с IIS.

(24) Да все что угодно. С авторизацией проблем не возникало? С ВЕБ-сервисами танцы с бубном не плясали?

(27) С IIS плясали, да. С апачем нет.

(27) аналогично с (28)

(30) IIS, помню, выбесил тем, что в вебсервисах кривожьопо кодирует UTF-8, в итоге авторизация не проходила с русскими символами.

Это из того, что помню. Там еще плясок с бубнами хватает.

И что, доменную авторизацию через Апач делали? Подскажите как? Мне очень интересно.

А я вообще не смог на IIS 1Ску запустить. Вот не взлетела и всё тут.

На Апаче в 3 клика всё заработало.

А что, не работает доменная с апачем?

Могу у админов наших уточнить завтра, если интересно.

(34) Мне не удалось даже намека получить на это нигде.

v8: Аутентификация средствами Windows

Только модуль нужен.

А вопрос производительности и скорости нигде в интернетах не освещался?

Apache VS IIS 7

Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой

Необходимо опубликовать БД на веб сервере, встал вопрос какой лучше использовать ?

на сервере используется ОС WIndows 2008 R2

почему только выбор из двух ?

(1) В смысле? А что платформа научилась ещё с чем-то работать?

странно, что нового не появилось

это вск конечно хорошо, а по сути вопроса?

А админ-линуксоид бородатый в свитере в штате есть? Если нет, то iis там админов легче найти. А вообще зависит, под что админ заточен

(6) вот-вот, для ИИС нужен админ а у Апача всё на порядок проще, поэтому

под апач запустить сильно проще, чем под ИИС

Нет никаких проблем с IIS.

:)

Порядка десятка web-сервисов, несколько сотен тысяч запросов ежедневно. С настройкой могу сказать, что нерешаемых проблем нет

(0)зависит от политики использования ПО в твоей компании

с ИИСом чуть больше заморочек, но настроить его вообще не проблема. Так что выбирать тебе

(13) нерешаемых нет, но надо заморачиваться настройкой, тогда как апач работает сразу из коробки

в итоге они равнозначны? и все зависит от того насколько прокачен у тебя левел админа?

да в настройка ИИС не работает из коробки как у апатча =(, но из за того что на сервере поднята еще служба терминалов которая неким магическим образом связана с ИИС, а апатч не ставиться пока его не отключишь ИИС, пришлось остановиться на ИИС

(16) в итоге равнозначны, но Апач: бесплатен и поднять на нём веб значительно проще, так зачем приплачивать мелкомягким за сложность использования?

(17) Останавливаешь службу IIS, запускаешь апач, запускаешь IIS, наслаждаешься.

(11) ну не так уж там и сложно

я ставил на вынь серв 2008 , он IIS там щтатный был, апачу встать не давал

С Иис в последней время траблы какие-то, то по непонятным причинам всю память на серваке съест и мертвой прикинется, то без перезапуска новые опубликованные сервисы не кажет.

Думаю у апача свои приколы, надо выбирать то, чем лучше владеешь.

с IIS что то не взлетело когда впервые публиковал. с тех пор апач и не парюсь

8)

На восьмёрке (Windows IIS так и не взлетел, писал что-то про языки и выкидывал ошибку базы.

и более предсказуем

IIS для винды роднее, поэтому в этом случае я за него, а вообще лучше сделать отдельный веб-сервер с апачем на линухе.

(28) IIS как будто платный

Палка о двух концах

(30) С апачем проще делать фокусы типа публикации одной базы в нескольких запущенных экземплярах сервера.. )

(30) Для сайтов есть и другие сервера, которые иногда даже быстрее будут.

опач проще и можно скока хош баз, вот тока с памятью бывают приколы

Многие сравнивают противостояние этих двух платформ как соперничество между Microsoft и Linux. В данной статье мы беспристрастно и объективно рассмотрим плюсы и минусы этих платформ.

APACHE

  • Перенасыщенность функционалом: Еще раз стоит подчеркнуть, что Apache действительно чрезвычайно богат на функции, возможности и инструментарий. Но, к сожалению, в рамках типовой инсталляции пользователь задействует только 10 % от этих функций.
  • С точки зрения архитектуры, Apache, работает по модели «процессов». Это означает, что для каждого соединения Apache выделяет отдельную «коннекцию», или другими словами поток данных, что вызывает значительную загрузку. Конкуренты, а именно асинхронные платформы и сервера работающие по модели «событий», имеют преимущество обработки нескольких процессов одновременно в рамках одной транзакции.

С точки зрения производительности, IIS уступает Apache, в виду архитектурной особенности и строгой работы на Windows.

Масштабируемость Apache + 1С в серверном режиме. Есть опыт?

Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн

Публикую базы клиентов через Apache (SSL, пользовательские сертификаты) уже достаточно давно, но массовый переход пока не осуществлял, так как это довольно много работы.

Сейчас возникла ситуация, когда RDP более не подходит . Сняли сервер на hezner, железо прекрасное, цена отличная, и надо бы переносить расчеты туда, но почему-то копирование файлов через RDP предельно ужасное, и при попытке что-нибудь скопировать RDP сессия просто вешается. Причины найти не можем всю голову сломали.

Если я на решусь на массовый переход публикацию через Web, то около 50 пользователей(а в дальнейшем больше) будут работать через Apache. Опасаюсь, что могу упереться в какую-нибудь особенность, которую сейчас предположить не могу.

(Как например использование нескольких процессов Apache в случае с публикацией в файловом режиме)

Буду пробовать 2 варианта, в первом Apache будет располагаться на Linux, во втором на винде. 1С сервер будет крутиться в любом случае на винде. Судя по обсуждениям здесь на форуме, нужно обязательно попробовать Apache 2.4. Буду пробовать 64-х разрядный апач (до этого всегда использовал 32х)

Да. Совсем забыл указать свой опыт. Действующий сейчас мой вариант сделан очень топорно. В общем все компоненты стоят на Windows 2008 R2, том числе и Apache 2.2 (32-х битный).

К каждой базе свой набор пользовательских сертификатов (самоподписанных). Лист отзывов не делал.

Тонкий клиент обновляется автоматически, через setuptc.zip.

P.S. Схема если что указана только для публикации базы через интернет. Локальные схемы это совсем другая история.

несколько тупых вопросов. а почему не IIS? зачем пробовать 64х приложение, отъедается вся память? а если поднять несколько апачей по разным портам и разнести пользовталей по ним. У меня работают 70пользователей на самописке на БСП, IIS в одном инстансе и почти не конфигурировал его.

(4) зачем на Windows 2008 R2 использовать апач?

Памяти при 10 пользователях на данный момент съел 30 Мб. Да, возможно 32/64 тут вообще не критично.

(2) Забыл упомянуть, что речь не о веб клиенте а именно о тонком.

(0) При работе через веб-сервер в связке с сервером 1с фактически процесс веб-сервера не исполняет 1с-ный серверный код, а передаёт на сервер, так что неожиданностей тут вроде не возникает.

Ну и, как верно сказали, не вижу причин на винде предпочитать Apache встроенному IIS.

(3) Там речь про тонкий клиент, который получается тормознее RDP.

Вот это весьма и весьма странно и бывает скорее когда клиентский комп тормознутый совсем. В RDP локальной работы с диском фактически нет, например, а тонкий себе кэш конфы подгружает и дёргает его.

Базы фаловые или сервер 1С используется?

(1) забыл спросить.70 юзверей это в через инет или локалку?

(7) Я так и думал по поводу, что в серверном режиме по идее приколов быть не должно. И с разносом тоже мысли, что при обновлении платформы придётся тянуть ещё и дистрибутив 64/lin, что не комильфо.

(10) через локалку. еще как вариант сконфигурировать компрессию на веб-сервере не пробовали?

(10) Траффик надо замерять.

RDP должен больше генерировать, т.к. картинки передаёт, пусть и пожатые, сегментированные и оптимизированные.

Если на клиенте выполнять поиск по таблице с 10000 строками, то траффика может нагенерироваться и много.

Но из меня эксперт в этом вопросе не очень удачный.

(11) хотя у меня по-умолчанию в Режим: Веб-сервер (сжатие: усиленное)

(13) С чего ты взял, что tcp каждый раз новое создаётся?

В этом нет смысла, для описанной архитектуры тогда применялся бы протокол UDP.

В теории тонкий должен быть быстрее RDP.

50 это не очем вообще. Те абсолютно, если только не файловая 1С

(17) В целом наверное так и есть.

(7) Про Web vs RDP

На данный момент у меня есть сервер, географически далеко размещённый. Пинг 150.

Но проигрыш сходит на нет, когда отклик небольшой. При пинге в районе 10 на том же самом клиенте, та же самая база.

При этом аппаратно местный сервер значительно слабее по всем характеристикам. И тот же самый клиент. Платформа чуть старее (8.3.7).

Среди баз есть одна, где большой оперативный журнал представлен в виде таблицызначений на форме, вместо дин. списка. Да, это неправильно и так далее, но в том случае полностью оправдано.

С этим объектом при пинге 150 мс работать невозможно вообще. При скроллинге приходится ждать по несколько секунд, в то время как на местном сервере эта таблица мотается плавно.

Да, на управляемых формах нечего делать большим таблицам значений и т.д. Но и на стандартной 11 торговле я наблюдал жуткие тормоза при пинге 450. Маршрут йоты видимо проходил из Владивостока во Владивосток через Москву. При этом на RDP та же база работала сносно.

В общем пока вывод такой(не смотря на шаткость качества исследования), что качество работы тонкого клиента через web сервер стала зависит от времени отклика в куда большей степени, чем работа через RDP. Либо я где-то чего-то не настроил или не знаю/не понимаю.

(17) Интересно на это посмотреть.. Веб сервер все поступающие запросы ставит в очередь. Попробуй запустить сложный отчет или закрытие месяца и посмотри как это всех повесит. Хотя я не спец по веб серверам, может как то можно распаралелить.

(19) Судя по размеру занимаемой памяти апачу глубоко всё равно на отчеты. (в клиент-серверном режиме конечно). Он занимается передачей интерфейсных данных.

(20) Да. Желание использовать 64-разрядные версии всего канули в лету, когда не была обнаружена библиотека wsap24.dll соответствующей разрядности. По крайней мере в windows.

Интересует опыт использования через интернет в особенности с существенным временем отклика.

(0)>>> и надо бы переносить расчеты туда, но почему-то копирование файлов через RDP предельно ужасное, и при попытке что-нибудь скопировать RDP сессия просто вешается.

О чем идет речь? О копировании файлов с рабочего стола? Через буфер обмена?

последние полгода замечаю что при интенсивной работе апач под винду надо регулярно перезапускать..

дожирает оперативки и виснет, скотина такая..

причем как 2.2 х86 так и 2.4 х64 виснет..

(22) Речь о копировании на \tsclient. Там долгая история, если коротко, то в один поток скорость от нас к серверу изумительная и упирается в нашу нищебродскую приморскую сторость, а в обратную сторону ужасная. Дело касается любого IP протокола. На RDP при просмотре своего диска С на терминале приходится ждать по пол минуты при листинге каждой папки. Копирование в нашу сторону в пределах 30 КБ/C Вроде как с Москвы такой проблемы нет.

(23) у меня в одном месте настроен файловый режим через Apache. Перезапускаю Apache каждую ночь регламентно. Если этого не делаю начинаются проблемы, причем довольно быстро. За клиент-серверным подобного не замечал.

(24) Сталкивались ли вы с клиентами, с большим временем отклика? От 150 мс. Если да, то наблюдали ли вы дискомфорт при работе? У вас Apache или IIS?

(25) Отлично, правда вряд ли дело в разрядности. Но тем не менее спасибо.

Буду пробовать на IIS. О результатах отпишусь.

IIS не пробовал, пока нет времени.

Мои субъективные суждения подтвердились мнением бухов, недавно перешедших на 1cfresh (тонкий клиент) (Скорость работ форм неудовлетворительная). Время отклика с Москвой у нас примерно 120 мс.

Из этого пока я делаю вывод, что комфортная работа через тонкий клиент через интернет (подключение без web сервера не рассматривается из соображений безопасности) при времени отклика 120 мс и более пока невозможна. И для себя консервирую идею арендовать сервер географически далеко расположенный под связку Тонкий клиент SSL Apache сервер.

Массовый перевод клиентов на 1cfresh тоже под большим вопросом. Попробую обратиться с поддержку и быть может у них есть дата центры поближе. А может пошлют меня и будут правы, так как объективных показателей я дать не могу, так как не смогу потратить на их добычу достаточное количество времени.

Если запускать форму с таким объектом через web-клиент (через браузер) он работает просто прекрасно(при 150 мс), за исключением того, что в целом веб-клиент в целом работает медленнее тонкого.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Введение

Допустим, у вас небольшой рабочий коллектив и вам нужно работать с базами 1С. Одновременно там будет работать 2-3 человека, редко 5. В общем, в этих пределах. Вам надо купить как минимум 5 софтовых лицензий для сотрудников. Но куда их ставить, если у каждого сотрудника свой компьютер, а сервер терминалов поднимать не было в ваших планах. Во-первых, он денег стоит, во-вторых, его надо настраивать, обслуживать, защищать от угроз извне, если доступ будет по rdp. В общем, на маленьких масштабах это пушкой по воробьям. Чего уж говорить о клиент серверной установке 1С с использованием сервера баз данных mssql или postgresql. Для небольших компаний это перебор как по цене, так и функционалу. Я предлагаю решение значительно проще.

На помощь приходит публикация баз 1С на веб сервере с доступом пользователей через браузер. Лицензии ставятся на один компьютер. На него устанавливается веб сервер, публикуются базы 1С и настраивается доступ. Пользователям достаточно будет передать только ссылку для работы в базах. Это удобная схема работы, плюс в целом быстродействие файловых баз при одновременной работе нескольких пользователей будет выше. Ко всему прочему еще и пользователям на компьютер не нужно ставить платформу и обновлять ее.

Схема установки

Я предлагаю следующую схему работы с базами 1С при их публикации. Доступ нужен будет отовсюду через интернет. Для этого арендуется выделенный сервер, например в selectel. Достаточно будет сервера примерно за 4000р. с 2 ssd дисками и 32g оперативной памяти. Туда ставится гипервизор proxmox. И настраиваются минимум 3 виртуальные машины:

Это минимальный набор виртуалок. Сюда же можно добавить мониторинг либо еще какой-то сервис, необходимый вашей компании. Например чат или ip телефония. Производительности дедика хватит для небольшой компании.

Публикация баз 1С на веб сервере

Идем на виртуалку с windows и работаем там с 1С. Кстати, если хотите обойтись вообще без windows, то есть возможность настроить публикацию баз 1С на linux на примере Centos.

Для начала устанавливаем технологическую платформу и не забываем выбрать Модули расширения веб-сервера.

Публикация баз 1С на веб сервере

Создаем там необходимую вам базу данных. Я покажу на примере публикации типовой базы Бухгалтерия 3.0. При первом запуске необходимо будет установить на этот компьютер софтовые лицензии. Они будут использоваться при доступе к базам через браузер.

Настройка софтовой лицензии 1С для файловой базы

Установка и настройка Apache 2.4 в Windows

Если вы настраиваете apache на Windows Server, то скорее всего 80-й порт у вас будет занимать Служба веб-публикаций (World Wide Web Publushing Service) или W3SVC. Ее можно остановить и отключить.

Остановка службы веб-публикаций (World Wide Web Publushing Service) или W3SVC

Для того, чтобы точно узнать, кто занимает тот или иной порт в Windows, можно воспользоваться командой в консоли:

Кто занимает порт в windows

Дальше через диспетчер задач смотрите, какой процесс имеет указанный pid. В моем случае это apache. Если это какой-то системный процесс, у него будет pid 4.

Итак, конфиг apache отредактировали, порт 80 указали. Теперь установим apache 2.4 как службу windows. Для этого открываем командную строку от администратора (это важно), переходим в каталог C:\Apache24\bin и выполняем:

Установка apache 2.4 в Windows

Вы можете увидеть ошибку, связанную с отсутствием fqdn имени у сервера. Но реально это не представляет проблемы, можно игнорировать.

Переходим в оснастку windows Службы и запускаем Apache2.4.

Запуск apache как служба

Проверка работы apache в windows

Дальше выполняем непосредственно публикацию базы 1С через web сервер apache. Открываем базу через Конфигуратор, выбираем Администрирование -> Публикация на веб-сервере. В качестве каталога можно указать тот же, где лежит сам файл с базой.

Настройка публикация базы 1С через apache

Все настройки можно оставлять дефолтными. Сохраняем изменения. После этого должен быть выполнен перезапуск службы apache автоматически. Но если платформа была запущена не от администратора, то у нее не хватит прав это сделать. Надо сходить в Службы и перезапустить вручную.

Работа файловой базы 1С через браузер

Теперь с ней можно работать через браузер, но пока только с этого компьютера, либо по локальной сети. Далее сделаем так, чтобы доступ был и через интернет.

Доступ к файловой базе 1с через интернет в браузере

На данную виртуальную машину должны быть проброшены 80 и 443 порты с внешнего ip адреса. Как это будет сделано, зависит от ваших сетевых настроек. В случае с proxmox я настраиваю подобный проброс с самого хоста с помощью iptables. Пример настройки iptables читайте в отдельной статье. Там есть и про проброс. Не буду на этом задерживаться в статье про 1С.

Теперь нам нужно получить сертификат. Для этого запускайте в консоли certbot и следуйте инструкциям. Перед этим остановите nginx. Для быстрого получения сертификата certbot предлагает временно запустить свой веб сервер на 80-м порту.

В данном случае 10.10.10.11 - локальный ip адрес виртуальной машины с windows, где опубликована база 1С через apache. Доступ к 1С сразу же закрыт отдельным паролем и механизмом веб сервера auth basic. Создадим файл с именем пользователя и паролем, указанным в конфиге.

Защита доступа к базе 1С через интернет дополнительным паролем

Работа в базе 1С через браузер по https

Вот и все. Можно относительно безопасно выставлять такую конструкцию в интернет. В случае необходимости можно настроить fail2ban, если кто-то надумает перебирать пароли или просто выполнять непонятные запросы к веб серверу с опубликованными базами. При желании в том же nginx с помощью директив allow и deny можно ограничить доступ к виртуальному хосту с базами на уровне ip адресов. Это на случай, если не умеете делать то же самое на фаерволе. В nginx проще и быстрее.

Не забудьте настроить автоматическое обновление tls сертификатов. Как это сделать, я рассказываю в статье с настройкой web сервера. Ссылку на нее я дал выше.

Какие бывают проблемы с работой в 1С через браузер

В таком режиме у меня уже пару лет работают несколько серверов с 1С. Иногда возникают нюансы с доступом через браузер. Например, не настроить обмен между базами, не зная их локальных путей. Бухгалтера сами его не смогут настроить. Им нужно будет передать информацию по директориям с базами. Понятное дело, что и обновить платформу они сами не смогут, так как нужно будет обновлять и публикацию баз. Когда вы сами подключены через браузер, сделать это невозможно.

Так что некоторые вещи, которые обычно бухгалтера в небольших компаниях способны сделать сами, придется делать тому, кто обслуживает этот сервер. Но бонусом идет то, что на самих пользовательских компьютерах ничего настраивать не надо. Вы просто передаете пользователю адрес в интернете и учетные данные. И он начинает работать в базе 1с. Платформу ставить не надо, как и решать вопрос с лицензиями на клиентах.

Сделать это надо в cmd с правами администратора. И повторять каждый раз при обновлении платформы, не забывая указать путь к новой версии файла.

Uncaught TypeError: Cannot read property

Ошибка совершенно не гуглится, так что потратил много времени на ее решение. Помог режим отладки в chrome. Я просто проверил все запросы и нашел ошибочные с кривыми урлами. И так и сяк пытался их решить редиректами на веб серверах, но в итоге пришлось в apache переехать на 80-й порт и ошибка ушла.

Ну и еще одно отмечу. Иногда apache зависает или начинает сильно тупить. Обычно после долгого аптайма в несколько недель. Я подробно не разбирался в проблеме. Предпочел просто перезапускать его раз в сутки ночью. Для этого сделал обычный bat файл и настроил запуск через планировщик Windows.

Понятно, что это грубый костыль, но проблему решает. Ночью все равно с 1С никто не работает. Это история не про отказоустойчивость, резервирование и работу 7/24/365.

Подключение через Платформу 1С:Предприятие к базе 1С, опубликованной в веб

Упомяну одну важную вещь, про которую я сам узнал не сразу. С опубликованной в web базой 1С не обязательно работать через браузер. Можно подключиться через обычную платформу, если она у вас установлена на компьютере. Причем все отлично заработает даже с дополнительной basic auth в виде еще одной авторизации.

Чтобы добавить такую базу в платформу, достаточно указать, что тип расположения информационной базы - веб-сервер.

Подключение к базе 1С через интернет с помощью платформы

При подключении к такой базе вам сначала нужно будет ввести пароль на доступ к веб сайту, а потом уже появится авторизация самой 1С. Удобно выходит. И субъективно кажется, что через платформу 1С работать с опубликованной базой немного быстрее. Быстрее отклик на действия пользователя.

Бэкап баз 1С

Для полноты картины расскажу, как легко и быстро забэкапить файловые базы 1С. Пошаговую инструкцию не буду писать, так как у всех свои ситуации и каждый делает по-своему. Я на словах расскажу, как можно поступить с архивными копиями. Сам я каждый раз придумываю разные решения для бэкапов 1С в зависимости от обстоятельств.

Для меня важно держать где-то недалеко от рабочего сервера несколько архивных копий баз, чтобы их можно было оперативно загрузить на сервер и работать с ними. Для этого у меня на этом же гипервизоре отдельная виртуальная машина исключительно для бэкапов. Доступ к ней максимально ограничен. Она сама забирает все бэкапы к себе. С windows машины к ней доступа нет. Сделано это для простейшей защиты от шифровальщиков. Если какой-то вирус попадет на сервер и зашифрует базы 1С, я очень быстро смогу их восстановить из архивных копий, которые хранятся на этом же гипервизоре, только в другой виртуальной машине.

На windows сервере можно просто расшарить директорию с базами 1С, а на виртуалке для бэкапов подключить ее. Я обычно использую Linux систему для этого. В ней монтирую шару по smb. Как это сделать рассказываю в отдельной статье - Как быстро подмонтировать сетевой диск в Linux. После того, как подключили папку с базами 1С к бэкап серверу, можете делать с ними все, что угодно. Например, куда-то копировать с помощью rsync и сохранять изменившиеся базы. Подробно схему бэкапов с помощью rsync описываю тоже отдельно - настройка rsync для бэкапа. Обязательно одну копию держу локально на сервере с бэкапами, вторую отправляю куда-то в удаленный приемник. После этого шару отмонтирую. Она подключена только для копирования баз с windows машины на linux.

Так же для бэкапов вы можете использовать какое-нибудь S3 хранилище, например у того же Selectel. По моим недавним сравнениям по ценам там наиболее выгодные условия из известных хостеров. По крайней мере я дешевле не нашел. Заливать бэкапы в S3 можно с помощью утилиты rclone. У Selectel еще очень удобно сделано в плане настройки времени хранения данных в контейнерах. Я обычно создаю 3 разных контейнера:

  1. Day - в него заливаются архивы каждый день. Срок хранения файлов в этом контейнере - 7 дней. Настраивается это штатно в панели управления. На стороне хоста, с которого заливаются данные, ничего делать не надо.
  2. Week - архивы заливаются раз в неделю и хранятся 31 день.
  3. Month - архивы заливаются раз в месяц и хранятся условно бесконечно.

Таким образом мы просто каждый день льем файлы в S3 в разные контейнеры, а там они автоматом ротируются. Мы всегда имеем 7 последних копий, 4 недельные и помесячные. Удобная схема и не очень дорогая. Стоимость хранения можете сами прикинуть по калькулятору хранилища.

Еще один вариант бэкапа - копировать базы по nfs на какой-то сервер. В общем, тут вариантов может быть очень много. Я для этого и использую такую схему - подключение директории с базами к linux серверу, а там уже возможности по работе с бэкапами безграничные. Можно на тот же Яндекс.Диск их передавать. Вот тоже статья по этому поводу - бэкап на яндекс диск. Правда там речь идет про сайт, но принципиальной разницы нет.

Заключение

Это все, что я хотел рассказать по поводу публикации файловых баз 1С в интернет. Постарался дать не только технические данные но и свои личные подробности, основанные на опыте подобных эксплуатаций. Я хоть и пытаюсь дистанцироваться от 1С, но она настолько популярна в России, что так или иначе сталкиваешься с этим продуктом. Да я и свою бухгалтерию ИП сам веду в 1С :)

Если захотите себе настроить что-то подобное, то обращайтесь ко мне. Я могу подобрать подходящее решение под ваш бюджет и выполнить настройку. Это будет дешевле быстрее и скорее всего лучше, чем вам настроят через франчайзи. По крайней мере то, что я видел, чаще всего было настроено так себе. Без акцента на безопасность и удобство, лишь бы работало.

В этой статье мы попробуем себя в реверс-инжиниринге, можно сказать. Мы заглянем своими грязными руками под капот каждого из веб-серверов, эксплуатируя их так, как никто бы никогда не эксплуатировал.

Этот тест – замер сферического коня в вакууме, не более чем данные, которые были получены, и мы теперь не знаем, что с ними делать.


Методика

В качестве операционной системы для Nginx и Apache выступает Ubuntu 18.04 LTS, для IIS Windows Server Core 2019. Все операционные системы перед тестами получили последние обновления на состояние 04.12.2019.


На серверы устанавливался лимит в 10, 5 и 1 процент от ядра на 8, 4 и одном ядре. В качестве тестового стенда был компьютер с 9900K@5400мгц, что означает, что сервер получивший ограничение в 10%, получает около 540мгц на ядро.

Тест TTFB проводился при первой загрузке сервера и замерялся с помощью DevTools, после получения результата сервер выключался и откатывался на предыдущую контрольную точку, чтобы исключить появление любого рода кэшей.

Тестировщик и веб-сервер находились на одном и том же хосте и на одном и том же виртуальном свитче.

Чтобы сразу оценить дисковую подсистему, результаты бенчмарка ATTO и CrystalDIskMark, чтобы иметь понятие об узких местах.





Результаты:


Средний TTFB у IIS меньше всех, 0,5мс, против 1,4мс у Apache и 4мс у Nginx.

Сначала рассмотрим, насколько хорошо каждый из серверов масштабируется по количеству ядер.


На графике представлено количество обращений тестировщика к веб-серверу и латентность. На графике видно, что NGINX отработал 98% всех обращений, отдав сайт за 20мс и меньше. IIS как и Apache последние 5% из всех обращений отработали за 76мс и 14мс соответственно.




На графике показано среднее время обработки одного запроса во время стресс теста.

Как можно заметить из графиков, IIS продул и Apache и Nginx, сильно замедляясь под высокой нагрузкой.

IIS явно предпочел 4 ядра перед восьмью, показав меньшие задержки на четырёх, но так же не сильно одобрил и одно ядро.

NGINX прекрасно масштабируется на все 8 ядер, а для Apache, судя по всему, одноядерный сценарий кажется наилучшим выбором.

Масштабируемость:

Теперь рассмотрим масштабируемость по частоте и количеству ядер.


Тесты с ограничением в 1% на 4 и 1 ядра Nginx не прошел, выйдя за 2000 запросов он обрывал соединение с тестировщиком.


Apache как Nginx обработав 2500 запросов сдался и разорвал соединение. Apache не прошел тест на 8, 4 и 1 ядрах с лимитом в 1%, но помимо этого не прошел и тест на 5% ограничении на одном ядре, что хуже чем Nginx


IIS по время тестов набрал гигантскую очередь из запросов но обработал каждый из них. Судя по всему, в нем из коробки не установлены таймауты на обработку запроса.


На диаграмме представлено время, за которое был завершен тест. Были отброшены совсем абсурдные конфигурации тестирования. Из диаграммы видно, насколько IIS требователен к железу, и насколько прекрасен NGINX.

Масштабируемость от диска:

Теперь рассмотрим масштабируемость по частоте и количеству ядер и скорости диска.


На этот раз Nginx не прошел 4 теста, вместо двух.


Apache провалил одинаковое количество тестов, как и в прошлый раз.


IIS показывает почти идентичный график, будто ограничений на диск и не было. В целом, графики у всех серверов не сильно изменились, а это значит, что каждый из них закэшировал статику в оперативную память и отдавал оттуда. Тут мы видим главное узкое место – сам веб-сервер.


Предлагаем обновлённый тариф UltraLite Windows VDS за 99 рублей с установленной Windows Server 2019 Core.

Имеется windows-сервер c 1С 8.3 (БД — MSSQL).
Задача — настроить публикацию базы на линуксовом web-сервере.
Тонкости — модуль 1С для апача работает только с 2.0 и 2.2, а текущая версия в большинстве дистрибутивов — 2.4+
Пишется больше для себя, чтобы не забыть. Ну и мало ли, вдруг пригодится еще кому — не придется бегать по форумам в поисках нужных команд.

Железо — дал гигабайт оперативки, одно ядро и 20 гигабайт диска. Увеличить никогда не поздно.
ОС: Debian Stable, привык я к нему.

2016-01-08_091636

Ставлю минимум, включая ssh-сервер, но не включая web. К этому еще вернемся.

После установки базовая настройка по вкусу, я обычно ставлю локаль utf8, ставлю sudo, mc и vim, остальное по потребностям.
Дальше надо поставить apache 2.2. Причем сделать это правильным способом, а не просто скачав deb-пакет. :)

Сперва добавляем в /etc/apt/sources.list строчки со ссылкой на предыдущую версию дистрибутива.

Потом обновляем индексы — apt-get update — и смотрим, что у нас тут есть по apache командой apt-cache showpkg apache2
Там много всего выводится, но нас интересует только начало вывода:


Видим, что кроме 2.4.10 имеется версия 2.2.22-13+deb7u6 — то, что нужно.
Ставим: apt-get install apache2=2.2.22-13+deb7u6
Или, точнее: apt-get install apache2=2.2.22-13+deb7u6 apache2-mpm-worker=2.2.22-13+deb7u6 apache2.2-common=2.2.22-13+deb7u6 apache2.2-bin=2.2.22-13+deb7u6, а остальные зависимости уже подтянутся автоматом.

После этого ставим апачей на холд, чтобы не обновить случайно.


Можно запустить service apache2 start и стукнуть телнетом на 80 порт для проверки, если лень браузер запускать.

telnet localhost 80


Ругается — значит работает.

Теперь ставим 1С.
Нужны только веб-сервисы 1С (пакет 1c-enterprise83-ws). И 1c-enterprise83-common, который в зависимостях прописан. И 1c-enterprise83-server, который в зависимостях не прописан, но без него утилита публикации пишет «Ошибка сегментирования».
В принципе, необходим только модуль для апача wsap22.so из пакета 1c-enterprise83-ws, а всё остальное можно через текстовый редактор сделать. Но я человек ленивый и лучше потрачу несколько мегабайт на 1С, чем буду руками вбивать строчки в конфиги. :)

Дальше надо создать папку для хранения настроек опубликованных БД 1С. Можно в дереве вебсервера, но я лучше отдельно сделаю, прямо в корне, /1с.
После этого из папки с установленными файлами 1С (/opt/1C/v8.3/i386) запускаем утилиту публикации webinst со следующими параметрами (публикую нашу тестовую базу):

Если было написано «Публикация выполнена», значит всё прошло удачно. Если пишет «Ошибка сегментирования», то вы, скорее всего, забыли поставить 1c-enterprise83-server.
По результатам имеем файл default.vrd

И несколько новых строк в файле конфигурации веб-сервера:

2016-01-08_115425


Перезапускаем апач (service apache2 restart) и идём смотреть, что там опубликовалось.
Опубликовалось, просит пароль.

2016-01-08_115604

И впускает в базу.

Работает. Дополнительные настройки публикации делаются через редактирование vrd-файлов (к примеру, включение отладки), а допиливанием интерфейса веб-клиента должны заниматься ваши программисты 1С.
Если будете дописывать опции, к примеру, с подключением сервисов руками, то не забудьте удалить в файле default.vrd последний слэш в строчке «base="/testlitupp" ib="Srvr=10.0.0.4;Ref=testlitupp;" / >», я с этим долго возился. Если не удалить и что-то дописать после, то вылетает «ошибка 500» без дополнительной информации.
Какая будет нагрузка на вебсервер — я ещё не знаю, у нас это пока в тестовом режиме работает и хватает выделенных ресурсов. Но добавить памяти или ядер по мере увеличения потребностей проблем не составит.

В целом, в других дистрибутивах linux всё делается аналогично, различия только в способах установки старой версии apache.

Читайте также: