avatar
На сайте уже 594 пользователя

С базой данных или без: какие сайты работают быстрее, а какие создают большую нагрузку на сервер?

xsmix(1 год назад)

Решил создать данную тему потому, что в сети много разногласий, о том, какой сайт будет работать быстрее с базой данных или без?

Имеется опыт, когда на сайт буквально за 7-8 часов пришло/ушло 87000 посетителей из которых около 320 зарегистрировались и начали совершать различные действия, писать комментарии, ставить лайки и просто перемещаться по страницам сайта. Получается, в среднем около 11500 посетителей в час.

Естественно, те которые зарегистрировались создали серьезную нагрузку и мне прилетело письмо о превышении максимальной нагрузки, которая выделена в соответствии с тарифом на хостинг.

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

Вернуться назад к другим темам

Ответы пользователей

Чтобы оставлять сообщения необходимо авторизоваться
avatar
Rus126 1 год назад

С базой.

avatar
Surfyk 1 год назад

amigas, Вы меня опередили, я только что хотел Вам отправить ссылку на эту тему.

avatar
amigas 1 год назад

Только хотел задать похожий вопрос. Но меня опередили.

Сколько держак у ваших сайтов?

Столкнулся с проблемой, возможно задосили, но один сайт лёг в районе 6 тыс.

Хостер сейчас разбирается...

Скорее всего была атака т.к. никогда такой посещаемости ранее не было на этом движке.

По результатам отпишусь.

avatar
xsmix 1 год назад

Ivan, Спасибо, очень развёрнуто и понятно.

avatar
Ivan 1 год назад

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

В движках наподобие Джумла выполняется запрос к серверу, начинает выполнятся php и , когда нужно достать данные из БД , выполняется запрос к серверу БД. Конкретно в Джумле происходит несколько запросов к серверу БД.

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

НО , реляционные базы данных бесспорно быстрей и функциональней чем базы которые работают по принципу «ключ/значение», т.к. в них можно делать сложные выборки и поиск.

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

Надеюсь суть объяснил. Пишу с телефона, сори за скомканость

avatar
xsmix 1 год назад

greenzell, Спасибо! Очень понятный ответ. Просто часто встречал мнение, что при большой одномоментной посещаемости типа движки без баз данных сильнее напрягают само хранилище файлов, но может это так было, когда были HDD а не SSD.

avatar
greenzell 1 год назад

нельзя сравнивать, зависит все от сервера , правильности кода и тд.. Если систему создаст криворукий то даже html страница будет тормозить =))) но вообще , без соединения с БД как правило работает быстрее, и несет меньшую нагрузку.. MY-Engine в этом плане идеальная система.. быстрее только index.html =) и никакого php

Вступайте в нашу группу https://vk.com/myengine