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

Страховка, що більше не забирає пів години

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

  • Speed limit, highway, lane
    Фото: Sponchia / Pixabay
  • Tartan track, career, runway
    Фото: Hans / Pixabay

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

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

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

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

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

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

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

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