Хорошо, я знаю, что мой вопрос не совсем конкретный, так как оптимальный размер фрагмента фреда - это скорее пробная ошибка.Тем не менее, я надеялся, что некоторые из вас, ребята, могли бы пролить некоторый свет на это.
Это также связано с серверными вещами, поэтому я не уверен, что Stackoverflow - это совершенно правильное место, но, похоже, это был лучший выбор.по сравнению с ServerFault.
Для начала я опубликую два снимка экрана:
http://screensnapr.com/e/pnF1ik.png
http://screensnapr.com/e/z85FWG.png
Теперь яУ меня есть скрипт, который использует PHP для потоковой передачи файлов конечному пользователю.Он использует fopen и fread для потоковой передачи файла.Большинство из этих файлов имеют размер более 100 МБ.Меня беспокоит то, что иногда вышеизложенное превращает мою статистику в серверДва экрана с разных серверов;оба сервера имеют выделенные блоки потоковой передачи файлов.Ничто иное не работает на них, кроме потоковой передачи файла PHP конечному пользователю.
Я запутался в том факте, что даже когда мой сервер передает конечному клиенту всего лишь около 4 МБ / с данных в целом(s), чтение диска идет со скоростью 100M / s и более.Этот безумный уровень ввода-вывода в конечном итоге блокирует мой процессор, потому что он ожидает ввода-вывода и задачи накапливаются;в конце концов мой сервер перестает отвечать на запросы и требует перезагрузки.
Мой текущий размер фрагмента фреда установлен на 8 *1024* 1018 *.Мой вопрос, поможет ли изменение размера блока и экспериментов?Клиент загружает данные только со средней скоростью ~ 4 МБ / с.Так почему же данные с диска читаются со скоростью 100 МБ / с?Я перепробовал все возможные решения на стороне сервера;Я даже поменял диски на новые, чтобы исключить потенциальную проблему с диском.Похоже, это проблема сценария;Может быть, PHP читает все данные с диска независимо от того, сколько они передают конечному клиенту?
Любая помощь будет приветствоваться.И если это относится к ServerFault, то мои извинения за размещение здесь.И если вам, ребята, понадобится, чтобы я опубликовал фрагменты реального сценария, я тоже могу это сделать.