LINUX.ORG.RU

Странное поведение мелких файлов


0

1

Заметил что у меня сайт недогружается, на нескольких мелких файлах бесконечно висит pending... и сервер не отдает ответ.

NGINX пишет access.log запись доступа к файлу, wget на другом конце висит с «жду ответа».

Сами файлы вроде в норме, скачивал на домашний ноут и там все ОК, но на сервере наблюдаю странность. К примеру, есть файл GIF размером 393 байта. Если я сделаю cat на домашней машине - все ОК, он распечатает кракозябры и выведет приглашение терминала, на сервере - печатает содержимое файла и висит! т.е. приглашения нету, пока секунд 10 не будешь доблить по Ctrl+C, ESC, Ctrl+Q (даже не знаю что помогает). md5 одинаков, файлы идентичны.

На сервере EXT4 поверх DMRAID1, но пробовал и на голый ext2 раздел (boot) перекидывать, эффект тот же. Это наблюдается не со всеми гифами, а с какими-то избранными, причем я никак не могу понять в чем их отличие от других. Сам по себе NGINX иногда еще перестает отдавать ogg, css или еще что-нибудь (как правило - мелкое)

Какие есть идеи? Куда копать? Что и как проверить?


UPDATE
Вообще хрень какая-то, похоже дело в nginx или даже не знаю. Есть папка с иконками:

-rw-r--r-- 1 root root 2,1K Окт 10 16:11 checkbox.gif                                        
-rw-r--r-- 1 root root 1,4K Окт 10 16:11 clear-trigger.gif                                   
-rw-r--r-- 1 root root  929 Окт 10 16:18 date-trigger.gif                                    
-rw-r--r-- 1 root root  929 Окт 10 16:11 date-trigger.gif1                                   
-rw-r--r-- 1 root root 4,1K Окт 10 16:11 error-tip-corners.gif                               
-rw-r--r-- 1 root root  996 Окт 10 16:15 exclamation.gif                                     
-rw-r--r-- 1 root root  996 Окт 10 16:11 exclamation.gif1                                    
-rw-r--r-- 1 root root 1,8K Окт 10 16:11 radio.gif                                           
-rw-r--r-- 1 root root 2,2K Окт 10 16:11 search-trigger.gif                                  
-rw-r--r-- 1 root root 2,0K Окт 10 16:11 spinner.gif                                         
-rw-r--r-- 1 root root  743 Окт 10 16:16 spinner-small.gif                                   
-rw-r--r-- 1 root root  743 Окт 10 16:11 spinner-small.gif1                                  
-rw-r--r-- 1 root root  819 Окт 10 16:11 text-bg.gif1                                        
-rw-r--r-- 1 root root 1,1K Окт 10 16:11 trigger.gif                                         
-rw-r--r-- 1 root root 1,1K Окт 10 16:11 trigger-square.gif                                  
-rw-r--r-- 1 root root 1,5K Окт 10 16:11 trigger-tpl.gif    

независимо от размера на некоторых файлах nginx висит, на других - нет. При этом cat на всех из них отрабатывает адекватно.

★★★★★

Последнее исправление: BaBL (всего исправлений: 1)

пока секунд 10 не будешь доблить по Ctrl+C, ESC, Ctrl+Q

вот это, возможно, свидетельствует о зависание в каком-то ядерном вызове. Под strace если запустить, может быть будет видно где именно.

С другой стороны, похоже на помирающий диск. RAID на чем собран?

TuxR ★★★★
()
Ответ на: комментарий от TuxR

вот это, возможно, свидетельствует о зависание в каком-то ядерном вызове. Под strace если запустить, может быть будет видно где именно.

strace ничего не показывает, все ОК и потом отвисает:

open("lhelink_image.gif", O_RDONLY)     = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=398, ...}) = 0
fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0
read(3, "GIF89a\24\0\24\0\245 \0L\225\365\232\275\361/\210\354y{\201g\247\3656J\212("..., 32768) = 398
write(1, "GIF89a\24\0\24\0\245 \0L\225\365\232\275\361/\210\354y{\201g\247\3656J\212("..., 398GIF89КРАКОЗЯБРОХЕЛЛ

С другой стороны, похоже на помирающий диск. RAID на чем собран?

софтовый RAID1 (md) и поверх LVM2 диски Hitachi_HUA723020ALA640, рейд не сбоил ни разу

cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sda3[0] sdb3[1]
      1953012405 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

из смарта у меня показания не очень, но smartctl у меня на все диски всю жизнь такую ересь пишет:

smartctl -a /dev/sda | grep 'Pre-fail'
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   135   135   054    Pre-fail  Offline      -       84
  3 Spin_Up_Time            0x0007   129   129   024    Pre-fail  Always       -       513 (Average 451)
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   123   123   020    Pre-fail  Offline      -       31
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0

smartctl -a /dev/sdb | grep 'Pre-fail'
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   134   134   054    Pre-fail  Offline      -       88
  3 Spin_Up_Time            0x0007   137   137   024    Pre-fail  Always       -       481 (Average 426)
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   123   123   020    Pre-fail  Offline      -       31
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
BaBL ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.