Speshilov Alexander

882
Рейтинг

Alexander Speshilov
speshuric



  •   Регистрация: 26.10.2010 (6 лет назад)

  •   Был(а) на сайте: 22.02.2017


Группы

Профессиональный разработчик

Рейтинг 882

Публикации

Готовый и эффективный скрипт для регулярного обслуживания индексов и статистик.


Небольшая обработка для отладки WQL запросов WMI.


Некоторые особенности и неочевидные моменты использования символов в 1С.


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


В этой статье описано самое обычное резервное копирование ИБ 1С при помощи инструментов MS SQL Server 2008 R2, объяснено почему следует делать именно так, а не иначе, и развеяно несколько мифов.


Комментарии

DevДобавляем http-ссылки на самописную систему учета задач#13 10.02.17 10:04
(12) Каждый из перечисленных чем-то хорош. BB очень даже интересен, когда есть hg-шники или когда весь остальной стек atlassian куплен (какими же дешёвыми кажутся лицензии 1С по сравнению с набором jira+conf+bitbucket, с учетом того что каждый год надо платить по половине начальной стоимости!).
Более того, git вполне позволяет в одной организации держать несколько разных source control серверов. Просто те, кого не устраивает общий продукт, настраивают зеркальный push со своей песочницы - так как минимум история коммитов сохраняется.
DevДобавляем http-ссылки на самописную систему учета задач#11 09.02.17 21:34
(8) Ни в коем случае не подумайте, что мне что-то в вашем решении не понравилось. Нормальное решение, хорошо оформленная статья.
Просто немного удивило, что с вашими требованиями (закрытые бесплатные репозитарии, хотите больших объёмов) вы остановились BB.

Лично мне gitlab нравится гораздо больше.
1. Устанавливается реально просто.
2. Активно развивается (как обратная сторона - есть куда развиваться). За прошедший год авторы столько всего сделали, что я даже удивляюсь.
3. LDAP - это в первую очередь возможность подтянуть пользователей из active directory.
4. Сервис по code review - это же обычные мерж реквесты. Они там примерно аналог PR в bitbucket и github.
5. С продуктами atlassian интеграция, конечно, хуже чем в BB, но уж ссылки на тикеты подсвечивает.
6. Главное преимущество в том, что из альтернатив - единственный продукт, который можно установить локально абсолютно бесплатно и без ограничения по пользователям и с достаточным для комфортной работы функционалом. На моей нынешней работе есть куча ограничений по доступу к BB, потому что не куплено достаточно лицензий (аналитикам и другим "неразработчикам" не дают доступ).

На самом деле между gitlab/bitbucket/github примерный паритет по фичам и они очень похожи. У каждого из них есть свои фишки, но в целом для разработчика на 90% всё равно каким из них пользоваться. Чуть-чуть в стороне стоит upsource - он не выигрывает и не проигрывает, но заметно другой.
DevДобавляем http-ссылки на самописную систему учета задач#5 09.02.17 14:22
Решение интересное, но не проще ли было поднять свой гитлаб? Бесплатно. Нет ограничений на размер и количество пользователей. Захостить можно почти где угодно. Ставится за несколько минут. API, трекер, CI (правда очень "самобытный"), wiki, интеграция с LDAP.
HardwareАренда места для своего сервера. Волгоград#12 06.02.17 16:43
(11) За 2 года глобальные инциденты были даже в M1 и DataSpace. А если система, например, начинает перекидывать на резервный ЦОД при сбое основного, то часто этот процесс не остановить и он доставляет изрядную головную боль.
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#28 06.02.17 11:05
(26) Это рекомендации 10-15-летней давности. Они сейчас устарели. Если кратко, то нужно
1. Нужно как-то разделить (или научиться считать отдельно) все виды дисковой загрузки сервера. В данном случае это примерно 6-10 видов.
2. Посмотреть параметр "% загруженности". Вместе с динамикой текущей очереди (отдельно на запись и чтение и вместе) и временем отклика (R/W и общее)
3. Посмотреть sys.dm_os_waitstats - я думаю, что там будет просто всё забито writelog и pageiolatch_*.
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#25 06.02.17 10:47
(24) X5560 держит 144ГБ и она там трёхканальная, а не парами (у меня дома десктоп на близком к ним по архитектуре W3690), но это не важно. Я не могу придумать какими планками набрать 76 ГБ. Даже по парам.
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#23 06.02.17 10:34
(21)
Цитата
Длина очереди диска только в пике стукается о значение 11. Среднее за все время составило - 8. Среднее время обращения к дискам не превышает 0,18, а в середнем составляет - 0,055.
Какая такая сбалансированность? Это же самое прямое указание, что диски захлебнулись.

Еще. Вдруг внезапно понял, что не могу придумать, как на этом сервере может быть 76 ГБ памяти. Это ошибка или виртуализация?
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#19 06.02.17 9:45
(17) Заказчику эти результаты я бы постыдился отдавать. Методика тестирования не разъяснена и непонятно что и почему именно так тестируется. Выводы и предложения в лучшем случае не связаны с тестированием, в худшем - противоречат. На месте заказчика я бы поинтересовался, все ли работы подрядчик выполняет настолько неквалифицированно.
Даже маркетинговые статьи с тестированиями от EMC или MS в сотню раз полезнее.
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#14 03.02.17 19:43
(12) Так вот в том-то и дело, что не совсем понятно. Попробую пояснить, что мне непонятно.

Вызывает много вопросов тестируемое решение и его структура.

Окружение:
1. Аппаратное обеспечение. Процессоры 5-7-летней давности и скромный объём памяти еще объяснимы, но удивляет совсем никакая дисковая подсистема, которая при минимальной нагрузке должна стать очевидным ограничением. Собственно, как ниже видно - она и становится.
2. 32-битный сервер 1С. Особенно с учетом того, что ниже фраза "При этом на 1С сервер приходилось около 8 Гбайт оперативной памяти"
3. Свалены на слабый сервер все роли. Это на самом деле не самая большая проблема, проблема в том, что вы не оказываете из-за какой из этих ролей будет ограничена производительность.
4. Были ли какие-то межсетевые экраны/прокси, другие задержки между клиентом и сервером?
5. Что использовалось - http или https и в каком режиме?

Решение:
1. Мне непонятно какой API тестировался, т.е. конкретно, какие методы у сервисов, с какой сигнатурой, как дёргаются. Без этого читать что-то про тестирование можно было бы только для какого-то стандартного решения.
2. Картинка "Схема нагрузочного тестирования" сразу вызывает вопросы: а) Не пришибут ли сервер "пинги" от "Запрос готовности ответа" и б) где и как хранится готовящийся ответ (если в СУБД, то мы точно не тестируем веб-сервисы), в) Что там за "распаковка ответов"?
3. Что такое "прием пакетов от клиентов"?
4. Почему задача "Клиент должен получать вразумительный ответ от сервера в формате XML; например, статус и сумму по запрашиваемому документу" не решена банальным веб-сервисом, который тупо делает запрос и возвращает эти данные?
5. Что там за промежуточная долгая подготовка данных?
6. Я не знаю вашего решения, поэтому вся фраза "На серверной стороне использую стандартные объекты запуска процедур по расписанию. Не стал дорабатывать процедуры для запуска отложенных процедур. Хотя это позволит усовершенствовать процесс обработки полученных пакетов." для меня ничего не значит. Как, впрочем и следующие 2-3 абзаца.
7. Настораживает фраза "Вес пакета составляет около 900 байт ± 50 байт." Я не знаю термина "пакет" в веб-сервисах. Это размер http-запроса? Что там содержится в 900 байтах? Или это размер какого-то XML? Как вы в 1С контролируете размер в байтах (а не в символах)?

По целям тестирования. Обычно тестируется задержка, общая пропускная способность, максимальное количество клиентов (до деградации) или какая-то другая метрика. При этом обычно у нагрузочного тестирования цель - выяснить как эти метрики меняются при изменении параметров нагрузки и что является основным узким местом.
Смотрю на ваши 5 тестов: пункт 1 понятен, пункт 2 примерно понятен, пункты 3, 4 и 5 вызывают вопросы (что такое 100% нагрузка, зачем при ней измерять время отклика, где ниже "узкие места сервера" и т.д.)
В этом тестировании я так и не суть выбранных метрик и не понял, что является ограничением, какое их практическое значение. Точнее, мне кажется, что понял, но не понял, причем тут веб-сервисы.

То есть я вижу, что из описания я просто не понимаю, что и зачем тестировалось, не понимаю результатов.

Из глав "Результаты" и "выводы" я вижу:
1. Нагрузка на сервер в части именно веб-сервисов - никакая. Даже мой десктоп, если мне память не изменяет (извините, это было лет 5 назад), под 1С без оптимизаций оперировал то ли сотнями, то ли тысячами запросов к веб-сервису в секунду.
2. Даже из скриншотов понятно, что при тестировании всё уткнулось в SQL и диск.
3. В скриншотах монитора ресурсов фигурирует какая-то 1cv8.exe
4. Используются какие-то неопределённые термины типа "Количество соединений от клиентских машин возрастает свыше 4000 тысяч в минуту" - что это? С количеством наверное опечатка, но что за "соединения от клиентских машин в минуту"? Что такое "рассылает ответы на получаемые в реальном времени запросы"?
5. В выводах почти к каждому предложению у меня вопрос "почему?", "из чего это следует?" или "что автор хотел сказать этой информацией?".

Как следствие, читая последнюю часть "Методы..." я просто удивлён:
1. Советуешь "необходимо организовать кластер 1С"? Чувааак! У тебя 1С и SQL толкаются по процу, SQL (скорее всего) упёрся в недодисковую недосистему и вообще сервер "в годах". Лимит по дисковой подсистеме настолько очевидный, что дальше и тестировать-то смысла нет.
2. Говоришь "необходимо развертывать 64-х разрядную платформу 1С"? Твоё тестирование скорее всего стоило ДОРОЖЕ, чем этот апгрейд.
3. "Оптимизация кода и запросов к SQL серверу в процессе внедрения и эксплуатации на конкретном оборудовании"??? Оборудование типичнейшее, чего там на нём "конкретном" оптимизировать? Индексы нужны? Напиши какие и как это выяснено. Запросы кривые? Покажи их текст, план выполнения и рекомендации по изменению. Код кривой? Ну так напиши, что именно исправить.
HighLoadНагрузочное тестирование сервера 1С при использовании WEB сервисов#11 03.02.17 9:35
(0) А какова была цель тестирования?