I
I
Ilia Malashko2020-01-15 08:48:04
1C-Bitrix
Ilia Malashko, 2020-01-15 08:48:04

How to speed up your website as much as possible?

Hello.
The question is extensive, I do not ask that you give me all the answers, I rather rely on a general educational program and explain to me which side to look at.
We have an online women's clothing store running on 1s-Bitrix (please do not write that you need to change the framework) about 8000 products, about 700 visitors a day.
The problem is that the site is very slow.
By backend:

  • I think the server is fast:
    Processor: Intel® Xeon® E3-1270 v3
    RAM: 16GB
    Hard drives: SSD
  • On the nginx + apache server, we tried nginx + php-fpm, we didn’t get much acceleration, we returned to apache
  • Everything that can be cached, the composite site works
  • The tables are all indexed. When testing, the response speed from mysql is fast
  • Everything that can be cached, the composite site works

For the frontend:
  • Images are webp convected and lazy loaded
  • Partially removed unused js and css. All js and css is compressed and merged using Bitrix, which can be loaded deferred
  • Minimized connection to external sources. Yandex.Metrika, Google Analytics, Roistat and RetailRocket remained, marketers rested, they are not allowed to be deleted

The work done has slightly accelerated the site, but it still works very slowly.
As a standard, we look at the wildberries website, we look and admire the page loading speed. In the catalog, the page loads instantly; on the Network, the content is displayed instantly:
5e1ea6eab93c5608603848.png
We cannot provide such a speed even on the main page where there are no goods, I am silent about the catalog, it counts for seconds:
5e1ea74bc1478163216974.png
How can you get closer to the indicators of wildberries? How do they achieve such results?
/* ------------------------ */
Thank you all for your feedback. Unfortunately, in the coming days there is no opportunity to use your advice, next week I will begin to delve into what you wrote.
I will answer all questions here in the comments.
  • Website: wisell.ru
  • PHP version: 7.1
  • htop shows that the server is not stressed at all during longer hours, LA does not exceed 2
  • mysql running out of memory

The site is old, many different specialists worked, everyone left their crutches, so first of all I will debug php

Answer the question

In order to leave comments, you need to log in

10 answer(s)
A
Anton, 2020-01-16
@miv-men

The author, in this case, an integrated approach is required
1. There are a couple of modules on the Bitrix market that adapt your images
2. Working with CSS. This is an optimization - minimization and combining styles
3. Also Js
4. Further on the templates - you need to revise the code, perhaps some pieces should be higher or lower or removed altogether.
5. Metric scripts, etc. you need to load from your server, update them by crown
6. Fonts - also load from your server, make edits to css (CSS font-display)
7. Use server compression and cache. Reduce queries to the database. Components if cached should not make requests.
8. CDN is not always beneficial
9. The total number of DOM elements can be reduced by removing unnecessary divs and other elements in the layout
In general, pagespeed itself tells you what to do - google each item.
Naturally, on the cms side, everything must comply with the standards - i.e. internal tests should work perfectly.
The average online store on Bitrix can be increased to 95 parrots. In mobile layout, up to 100.

G
Gip, 2020-01-15
@Giperoglif

8000 products and 700 visitors) my phone should cope with this without problems, and not

Processor: Intel® Xeon® E3-1270 v3
RAM: 16GB
Hard drives: SSD

what kind of wildberries are we talking about here.
something Bitrix became very bad.

A
Ainur Shakirov, 2020-01-15
@Fqyeh29

Enable debugging:
And see how long each component takes. Look for long ones and deal with them individually.
5e1ebe10b6f6d259225638.png

S
Sergey Gornostaev, 2020-01-16
@sergey-gornostaev

Step one: Get rid of Bitrix.
Step two: PROFIT!

A
Andrey Fedorov, 2020-01-15
@aliencash

Metrics and analytics scripts can be used locally if they are updated daily by cron.

E
Evgeny Koryakin, 2020-01-15
@zettend

Bring the front to the REST-API, enable JSON caching. Give pictures to CDN. The shell would be better rendered with REACT.

A
Andrey Ryazantsev, 2020-01-15
@fo_otman

Translate directory to ElasticSearch. Refactor code. Connect php 7+. Pass part of the rendering of the page to the client side.

V
Viktor Taran, 2020-01-15
@shambler81

depends both on the assembly of the site and on the interface and on the server settings.
let me start with the website.

Y
yaBliznyk, 2020-01-15
@yaBliznyk

See htop for how busy the server is.
Opcache must be enabled and configured
What version of php?
Mysql running out of memory? If requests are processed quickly in manual mode, then look for a plug in php

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question