У меня возникает странная проблема, когда я пытаюсь опубликовать содержимое или загрузить файлы с помощью php на свой сервер.
После отправки формы она какое-то время спит, затем показывает ошибку загрузки страницы. Я пробовал разное содержимое и файлы с разными размерами и обнаружил, что он может публиковать / загружать содержимое / файлы только размером менее 530 байт! (примерно).
Я могу загружать / публиковать сообщения на других сайтах, поэтому я почти уверен, что проблема где-то на сервере.
upload_max_filesize
составляет 2 млн post_max_size
составляет 8 млнLimitRequestbody
составляет 3 млнСервер подключен к Интернету через соединение PPPoE, и раньше у меня были проблемы с FTP, которые я решил, уменьшив MTU сервера до 1460, однако теперь даже изменение MTU не помогает.
Когда я слежу за сетью через WireShark, отображаются следующие строки (ошибка контрольной суммы и плохой TCP).
1170 53.165583000 192.168.1.2 78.39.102.77 TCP 1506 [TCP segment of a reassembled PDU]
1293 57.661244000 192.168.1.2 78.39.102.77 TCP 1506 [TCP Retransmission] 60849 > http [ACK] Seq=1 Ack=1 Win=66792 Len=1452
в деталях строк говорится, что ошибка возникает в IP-пакетах и в основном из-за неправильной контрольной суммы (ее 0x0000), и предполагается, что это может быть вызвано функцией разгрузки контрольной суммы TCP / IP.
Может ли это быть связано с моей проблемой? Если да, то как мне это решить? Отключить контрольные суммы? Сменить сетевую карту? Что-то другое?
Обновление: я отключил контрольную сумму ip на своем компьютере (клиенте), и теперь я вижу другое сообщение о повторной передаче TCP, которое, как предполагается, является причиной проблемы.
[This frame is a (suspected) retrasmission]
под
[TCP Analysis Flags]
мне кажется это ошибка перегрузки, но я не знаю как ее решить
НЕ ОТКЛЮЧАЙТЕ ПРОВЕРКУ TCP.
Ваш стек TCP должен автоматически обрабатывать восстановление, хотя это снизит пропускную способность сети. Если вы можете воспроизвести ту же ошибку, значит, имеется очень серьезный дефект в стеке TCP отправляющей или принимающей машины или что-то среднее между ними. Вы запускали wirehark на обоих концах?
У вас настроена разгрузка TCP на отправляющей стороне? Вы пробовали его выключить?
Это NAT через маршрутизатор или HTTP-прокси?
Я хотел бы думать, что некоторые в Sirjan Universoty of Technology смогут дать вам более конкретный совет о том, как настроена их система, чем здесь, о сбоях сервера.
Я догадался, что проблема в перегрузке TCP, поэтому я следил за настройкой параметров TCP и увеличил tcp_wmem, tcp_rmem, wmem_max ... и перезапустил сервер.
до сих пор я все еще не сталкивался с проблемой
Здесь я должен указать, поскольку WireShark захватывает пакеты tcp до того, как они проходят через NIC, если контрольная сумма вычисляется в NIC, то неправильная контрольная сумма в WireShark обычно не является реальной проблемой.