У меня есть некоторый PHP-скрипт, который занимает много времени для выполнения (большой объем данных для обработки).
Есть ли способ разгрузить сервер, заставив некоторые php-функции выполняться на стороне клиента (в браузере) и затем передать результат на стороне сервера?
Пример:
в моем сценарии у меня есть часть, которая выполняет file_get_contents и эта занимает много секунд, чтобы выполнить …
Возможно ли, что этот file_get_contents будет выполнен на стороне клиента, чем вернуть вычисленный результат на сервер?
Как механизм распределенных вычислений?
Если есть решение, которое запрашивает разрешение пользователя, я тоже согласен с этим.
Если ваш код обрабатывает данные, полученные, например, от db, вы можете сделать обработку данных в javascript на стороне клиента и использовать php только для получения этой информации db
Вы можете кэшировать результат file_get_content
функция в файл и использовать содержимое из файла кэша позже.
Вам нужно будет сделать несколько дополнительных шагов, таких как запуск JavaScript или отправка пользователю исполняемого файла, чтобы он сделал для вас любую обработку!
Однако в вашем случае кажется, что ваша скорость ограничена чтением определенного файла, поэтому вы, скорее всего, сможете ускорить эту операцию только локально.
Если возможно, кешируйте часто читаемые файлы в памяти, чтобы каждый раз возвращать их намного быстрее, чем читать с диска каждый раз. Вы можете даже сделать запрос в другую программу, чтобы сделать это для вас.