Перейти до вмісту

Скоротила браузерну перевірку якості сайту з 1 636 секунд до 615, запускаючи перевірки від найдовших до найкоротших через пул воркерів, обмежений чотирма потоками, після того як виміряла, що алфавітний порядок коштував 320 секунд проти 224.

615 секунд на візуальні перевірки — замість 1 636

Ситуація. Одинадцять перевірок сайту працюють через браузер без графічного інтерфейсу: розкладка для кожної форми вікна, яку передбачає дизайн, шкала розмірів шрифту, розширення перекладеного тексту, контраст, правила доступності, режим примусових кольорів, розміри маскота, анімація, друк у шести комбінаціях паперу, помилки консолі та візуальна регресія. Запущені по черзі, вони тривали 1 636 секунд — трохи більше ніж двадцять сім хвилин. Перевірку, що триває двадцять сім хвилин, пропускають, а пропущену перевірку не відрізнити від пройденої.

Завдання. Реальний час виконання треба було скоротити настільки, щоб запуск перевірок став звичною дією, а не окремим рішенням, і при цьому не послабити жодної з них.

Дія. Робота почалася з вимірювань. Кожну перевірку заміряли окремо на дванадцятиядерній машині: розкладка — 405 секунд, шрифти — 301, переклад — 282, контраст — 189, доступність — 178 і так далі аж до сімнадцяти. Відповідь визначили два висновки. Запуск усіх одразу виявився повільнішим, ніж по чотири за раз, — 265 секунд проти 224, — бо кожна перевірка сама є браузером, що виконує паралельну роботу, і перевантаження машини коштує більше, ніж дає паралелізм. А порядок «найдовші спершу» обігнав алфавітний майже на третину — 224 секунди проти 320; це класичний результат теорії розкладів, і тут він проявляється тому, що вартість перевірок різниться в двадцять разів. Тож запускач — це обмежений пул робочих процесів, розмір якого визначає кількість ядер, але не менше двох і не більше чотирьох, а завдання в нього надходять від найдовших до найкоротших. Водночас перевірки не звузили, а розширили: тепер вони використовують одну спільну таблицю з двадцяти двох форм вікна, виведену з усіх медіазапитів, які справді є в таблиці стилів, і вже лише через це перевірка розкладки зросла з 95 секунд до 405.

Результат. Увесь набір перевірок тепер триває 615 секунд замість 1 636, хоча самі перевірки стали ширшими, а не вужчими: сумарна послідовна вартість зросла, а реальний час зменшився. Найцінніше тут — вимірювання: обидва рішення, що звучать розумно, — запускати все одразу й запускати в порядку написання — за вимірами виявилися гіршими за альтернативу.

Попередня робота: . Читати далі: . Або перегляньте повне портфоліо.

Клієнтам ми розповідаємо це як Страховка, що більше не забирає пів години — подивитися разом з іншими кейсами.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік