ZFS использование кеша (arc)

1 23
vlad11
На сайте с 11.01.2011
Offline
73
#21

А винт точно без бедов?

Администрирование Linux и FreeBSD. Настройка BGP. (/ru/forum/744772)
rtyug
На сайте с 13.05.2009
Offline
263
#22

Mage1, Вы хотите решить проблему, что Вы предлагаете? я думаю, что нужно попробовать несколько вариантов - чтобы решить вопрос, какие варианты Вы УЖЕ пробовали??

например:

  • на php попробовать использовать fopen, fread, fseek, может, что-то другое...
  • попробовать на perl, Си, etc (уже было про AIO)
  • я не понимаю, почему нельзя использовать nginx для отдачи этих файлов как статику?? а может быть динамику на страницу подгружать с помощью SSI(не путать с SSL) или на Javascript.
  • RDBMS/etc
  • etc

помогите выкопать картошку11

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
Mage1
На сайте с 05.07.2007
Offline
83
#23

Итак, обновление FreeBSD до 8.2 помогло (как раз вышел релиз). Версия ZFS 15 и все 6Гб оперативки, выделенные для кеша ZFS используются ею по назначению. Время генерации страниц сократилось со 120 до 30 миллисекунд. Но это с выключенной функцией поиска. На неё ресурсов, похоже, не хватает в принципе.

rtyug:

  • на php попробовать использовать fopen, fread, fseek, может, что-то другое...
  • файлы о которых я писал читаются целиком, не думаю, что fopen, fread, fclose будет быстрее чем file_get_contents...

    rtyug:

  • попробовать на perl, Си, etc
  • perl вместо php? :) шило на мыло? на си можно переписать, но ускорит ли это операции с диском? я думаю, нет.

    rtyug:

    (уже было про AIO)

    заодно обновил nginx и включил AIO, разницу трудно обнаружить, но надеюсь, что это внесло какую-то лепту.

    rtyug:

  • я не понимаю, почему нельзя использовать nginx для отдачи этих файлов как статику?? а может
  • то, о чем я писал это чтение 20-ти файлов для последующей обработки, а не просто отдача пользователю. nginx-у же есть работа - картинки и файлы для скачивания. Да, за время пути собачка подросла, теперь текстовых файлов около 190 тыс. объемом 10 Гб, они содержат 1,5 млн. картинок, также имеется множество тысяч файлов для скачивания и некоторые функции также кешируются в файлы на диске. Общий объем этого хлама более 50 Гб.

    rtyug:

    быть динамику на страницу подгружать с помощью SSI(не путать с SSL) или на Javascript.

    вся страница сплошной динамический элемент

    rtyug:

  • RDBMS/etc
  • сначала когда текста было что-то около 3Гб я хранил его в базе данных. но сервер уверенно загинался, тогда я перенес каждую статью в отдельный файл на диске и серверу сильно полегчало.

    думаю над переездом на более мощный сервер, чтобы включить-таки поиск.

    rtyug
    На сайте с 13.05.2009
    Offline
    263
    #24
    Mage1:
    файлы о которых я писал читаются целиком, не думаю, что fopen, fread, fclose будет быстрее чем file_get_contents...

    file_get_contents() - если по байтово считывать (буферизировать), то да... а если полностью, то нет (полностью весь файл в оперативку загонит)

    http://www.google.com.ua/search?hl=ru&safe=off&q=file_get_contents+vs+fread&aq=3&aqi=g5&aql=&oq=file_get_contents+vs+

    Mage1:
    perl вместо php? :) шило на мыло? на си можно переписать, но ускорит ли это операции с диском? я думаю, нет.

    я предложил в качестве варианта :)

    ...напите на php открытие файлов на epool и на kqueue )))

    Mage1:
    Итак, обновление FreeBSD до 8.2 помогло (как раз вышел релиз).

    надо было это сразу сделать...

    Mage1
    На сайте с 05.07.2007
    Offline
    83
    #25
    vlad11:
    А винт точно без бедов?

    блин, посмотрел SMART и прозрел :) Все три диска с кучей параметров в pre-fail (Reallocated_Sector_Ct, Seek_Error_Rate, Raw_Read_Error_Rate), то-то я думаю, сервер не тот, что был раньше :) Сыпятся SATA-шные винты, что, правда, и не удивительно, под такой нагрузкой да 24/7 почти год продержались...переезжаем на SAS :)

    N
    На сайте с 06.05.2007
    Offline
    419
    #26
    Mage1:
    Все три диска с кучей параметров в pre-fail

    pre-fail - это тип параметра, а не классификация текущего значения параметра. они изначально pre-fail.

    лучше значения покажи

    Кнопка вызова админа ()
    Mage1
    На сайте с 05.07.2007
    Offline
    83
    #27
    netwind:
    pre-fail - это тип параметра, а не классификация текущего значения параметра. они изначально pre-fail.
    лучше значения покажи

    истинно так, значения следующие

    диск 1

    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x000f 118 099 006 Pre-fail Always - 171780826
    3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0
    4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 4
    5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 1
    7 Seek_Error_Rate 0x000f 089 060 030 Pre-fail Always - 880694001
    9 Power_On_Hours 0x0032 091 091 000 Old_age Always - 8423
    10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
    12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 4
    184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
    187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
    188 Command_Timeout 0x0032 100 100 000 Old_age Always - 2
    189 High_Fly_Writes 0x003a 030 030 000 Old_age Always - 70
    190 Airflow_Temperature_Cel 0x0022 048 045 045 Old_age Always In_the_past 52 (Min/Max 16/55)
    194 Temperature_Celsius 0x0022 052 055 000 Old_age Always - 52 (0 16 0 0)
    195 Hardware_ECC_Recovered 0x001a 046 039 000 Old_age Always - 171780826
    197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
    198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
    240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 212940183576807
    241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 733272948
    242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 2541841852

    диск 2

    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x000f 117 099 006 Pre-fail Always - 130257907
    3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0
    4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 4
    5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 3
    7 Seek_Error_Rate 0x000f 089 060 030 Pre-fail Always - 896625586
    9 Power_On_Hours 0x0032 091 091 000 Old_age Always - 8424
    10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
    12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 4
    184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
    187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
    188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
    189 High_Fly_Writes 0x003a 001 001 000 Old_age Always - 264
    190 Airflow_Temperature_Cel 0x0022 054 049 045 Old_age Always - 46 (Min/Max 16/51)
    194 Temperature_Celsius 0x0022 046 051 000 Old_age Always - 46 (0 16 0 0)
    195 Hardware_ECC_Recovered 0x001a 048 042 000 Old_age Always - 130257907
    197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
    198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
    240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 49503793062120
    241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 1017410449
    242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 4049084289

    диск 3

    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x000f 119 099 006 Pre-fail Always - 211023399
    3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0
    4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 4
    5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 3
    7 Seek_Error_Rate 0x000f 089 060 030 Pre-fail Always - 917633183
    9 Power_On_Hours 0x0032 091 091 000 Old_age Always - 8424
    10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
    12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 4
    184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
    187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
    188 Command_Timeout 0x0032 100 099 000 Old_age Always - 1
    189 High_Fly_Writes 0x003a 059 059 000 Old_age Always - 41
    190 Airflow_Temperature_Cel 0x0022 063 057 045 Old_age Always - 37 (Min/Max 16/43)
    194 Temperature_Celsius 0x0022 037 043 000 Old_age Always - 37 (0 16 0 0)
    195 Hardware_ECC_Recovered 0x001a 049 045 000 Old_age Always - 211023399
    197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
    198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
    240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 268542830186772
    241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 58392503
    242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 3686794226

    собственно у всех имеются Reallocated_Sector_Ct, а количество Seek_Error_Rate и Raw_Read_Error_Rate астрономическое

    vlad11
    На сайте с 11.01.2011
    Offline
    73
    #28
    Mage1:

    собственно у всех имеются Reallocated_Sector_Ct, а количество Seek_Error_Rate и Raw_Read_Error_Rate астрономическое

    Я подозреваю, что у вас Сигейты, от 1ТБ и выше.

    Для них важно только количество Reallocated_Sector_Ct, у вас терпимо.

    vlad11 добавил 25.04.2011 в 01:18

    Mage1:

    сначала когда текста было что-то около 3Гб я хранил его в базе данных. но сервер уверенно загинался, тогда я перенес каждую статью в отдельный файл на диске и серверу сильно полегчало.

    думаю над переездом на более мощный сервер, чтобы включить-таки поиск.

    Может, вернете текст в базу и подключите Сфинкс для поиска в ней?

    Если 6ГБ памяти маловато, можно немного подрезать выделение её под ZFS.

    Mage1
    На сайте с 05.07.2007
    Offline
    83
    #29
    vlad11:
    Я подозреваю, что у вас Сигейты, от 1ТБ и выше.
    Для них важно только количество Reallocated_Sector_Ct, у вас терпимо.

    да, Seagate ST31500341AS, но всё же смущают большие количества Raw_Read_Error_Rate и Seek_Error_Rate

    vlad11:

    Может, вернете текст в базу и подключите Сфинкс для поиска в ней?
    Если 6ГБ памяти маловато, можно немного подрезать выделение её под ZFS.

    можно было бы попробовать, объем оперативки сопоставим с объемом текстовиков, но уже переехал на другой сервер, 24 Гб оперативки и 4х300 Гб SAS диски в RAID 10, файловая система UFS2, всё работает быстро и 15 Гб оперативки простаивает (4 Гб базе данных, 5 Гб сожрали остальные процессы). Думаю вот куда лишнюю оперативу использовать :) Думается при росте нагрузки или объемов данных закешировать в ней что-то, или перенести индекс (6Гб) поисковой системы на виртуальный диск в оперативке. Не подскажете, есть ли средства, позволяющие это сделать красиво? Можно написать скрипт, который при перезагрузке будет создавать диск в памяти с помощью mdmfs и копировать на него данные, но это костыль какой-то.

    1 23

    Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий