Сколько PHP сеансов может получить доступ / записать файл / базу данных? (+ лучшие практики) - PullRequest
0 голосов
/ 05 апреля 2020

Вопрос к парням, которые работали над большими проектами где-то в компании.

Я только что почти закончил sh один из моих личных проектов. В этом проекте у меня есть несколько пользователей с id, паролем, базой данных и номером таблицы + их столбцы (SQL) в XML файле .

XML файл помечен красным * сценарием PHP для создания панели навигации и панели инструментов, где пользователи могут видеть свои таблицы и добавлять, удалять и c таблицы sql.

Каждый пользователь имеет собственную SQL базу данных, но некоторые «детали» базы данных записаны в «основном» XML файле.

Я думаю о 2 сценариях ios: (будет зависеть от количества пользователи)

а) небольшое количество пользователей посещают веб-сайт и одновременно читают / записывают данные об ошибках много раз. Будет ли на сайте массовая точка останова, когда пользователи будут ждать доступа к файлу, или он будет автоматически обрабатываться сервером?

b) ОГРОМНОЕ количество пользователей пытается получить доступ к файлам , Если это так, сайт будет постоянно создавать sh?

Итак, подведем итог:

Поскольку у меня есть только навыки программирования, а не навыки проекта (никогда не был нанят в качестве разработчика или чего-либо еще в компания, и не было ни опыта, ни «хороших практик»), будут ли большие проблемы? Должен ли я изменить код, чтобы получить доступ меньше к файлу xml и больше к базе данных? Какие еще есть возможности для хранения постоянных данных одного / нескольких пользователей без записи в файлы / базы данных?

Пожалуйста, отвечайте, только если вы когда-либо работали как HIRED DEVELOPER и у вас много опыта.

Заранее спасибо, студент-IT:)

1 Ответ

0 голосов
/ 05 апреля 2020

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

Многократное чтение файла не является проблемой. Операционная система, вероятно, кеширует файл в памяти, и этот кеш может считываться несколькими процессами параллельно.

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

количество операций записи в секунду в значительной степени зависит от аппаратного обеспечения вашего сервера. Используя SSD или raid-контроллер с кэшем записи, эти записи будут происходить практически мгновенно, и вы сможете писать тысячи раз в секунду. Обычный HD, вероятно, будет обрабатывать менее 100 записей в секунду.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...