The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Производительность Squida, !*! Avr, 11-Фев-03, 15:11  [смотреть все]
Кто подскажет как максимально увеличить сабж?
Машинка на которой крутится сквид П3-1000/2Gb Ram/Винты SCSi/Кэш на отдельном винте.
При подключении мимо сквида скорость значительно выше!
  • RE: Производительность Squida, !*! Michael, 17:27 , 11-Фев-03 (1)
    >При подключении мимо сквида скорость значительно выше!

    Добрый день!
    что означает "выше"? прокачка? время реакции? или что-то еще?
    какие параметры памяти установлены в squid.conf?
    DNS правильно указан?

    вообще-то при таком кол-ве памяти все должно летать мухой...
    причем достаточно намного меньшего кол-ва памяти... у меня 256Mb и единственный в системе винт IDE и все нормально...

    • RE: Производительность Squida, !*! Avr, 18:16 , 11-Фев-03 (2)
      >Добрый день!
      >что означает "выше"? прокачка? время реакции? или что-то еще?
      Особенно заметно по времени реакции
      >какие параметры памяти установлены в squid.conf?
      >DNS правильно указан?
      стоит локальный bind (на него и смотрим) - все наружные адреса резолвятся нормально
      >
      >вообще-то при таком кол-ве памяти все должно летать мухой...
      >причем достаточно намного меньшего кол-ва памяти... у меня 256Mb и единственный в
      >системе винт IDE и все нормально...

      squid.conf

      http_port 3129
      icp_port 0
      hierarchy_stoplist cgi-bin ?
      acl QUERY urlpath_regex cgi-bin \? chat
      no_cache deny QUERY
      cache_mem 50 MB
      maximum_object_size 8 MB
      cache_access_log /usr/local/squid/logs/access.log
      cache_log /usr/local/squid/logs/cache.log
      cache_store_log /usr/local/squid/logs/store.log
      cache_dir ufs /usr/local/squid/cache 15360 16 256
      pid_filename /usr/local/squid/logs/squid.pid
      ftp_user anonymous@permonline.ru
      authenticate_program /usr/local/sbin/ncsa_auth /usr/local/etc/squid/passwd.squid
      authenticate_ttl 60 seconds
      quick_abort_pct 60
      negative_ttl 5 minute
      positive_dns_ttl 6 hour
      negative_dns_ttl 5 minute
      [acl'и поскипаны ]

      logfile_rotate 12
      client_db on
      cache_effective_user nobody
      cache_effective_group nogroup
      memory_pools on
      memory_pools_limit 256 MB

      • RE: Производительность Squida, !*! Michael, 18:45 , 11-Фев-03 (3)
        >squid.conf
        >
        >http_port 3129
        странное значение, но дело хозяйское, на скорость не влияет...
        обычно 3128

        >cache_mem 50 MB
        ИМХО, 50MB - очень мало для такого большого дискового кэша, индексы кэша могут просто не уместиться в памяти, когда кэш основательно наполнится.
        при такой памяти и кэше я бы отдал 512MB или даже больше.

        >cache_store_log /usr/local/squid/logs/store.log
        нужен ли? лучше выключить, чтобы не ел производительность

        >cache_dir ufs /usr/local/squid/cache 15360 16 256
        мне кажется, что лучше использовать diskd, особенно при большом количестве клиентов.

        а сколько стоит dns_children и authenticate_children ?
        сколько примерно клиентов? если много, то ставь чилдренов не меньше 8 штук каждых

        почитай статейку http://www.bog.pp.ru/work/squid.html
        там многие вещи неплохо описаны

        • RE: Производительность Squida, !*! Avr, 08:08 , 12-Фев-03 (4)
          Поставил squid-2.5 из портов
          Скорость вроде увеличилась...

          Да. Клиентов от 1 до 20
          Канал 128kbit

          Вот новый config

          http_port 3128
          icp_port 0
          hierarchy_stoplist cgi-bin ?
          acl QUERY urlpath_regex cgi-bin \? chat
          no_cache deny QUERY
          cache_mem 512 MB
          maximum_object_size 8 MB
          cache_access_log /usr/local/squid/logs/access.log
          cache_log /usr/local/squid/logs/cache.log
          cache_store_log none
          cache_dir diskd /usr/local/squid/cache 15360 16 128
          pid_filename /usr/local/squid/logs/squid.pid
          ftp_user anonymous@permonline.ru
          auth_param basic program /usr/local/libexec/ncsa_auth /usr/local/etc/squid/passwd.squid
          auth_param basic children 10
          auth_param basic realm PermKadastr proxy-caching web server
          auth_param basic credentialsttl 60 seconds
          quick_abort_pct 60
          negative_ttl 5 minute
          positive_dns_ttl 6 hour
          negative_dns_ttl 5 minute
          [acl skipped]

          icp_access allow allowed_hosts
          icp_access deny all
          cache_mgr postmaster
          logfile_rotate 12
          client_db on
          cache_effective_user nobody
          cache_effective_group nogroup
          visible_hostname mail.permkadastr.local
          memory_pools on
          memory_pools_limit 256 MB
          dns_children 10
          cachemgr_passwd 123456 all
          ^^^^^^^^^^^^^^^^^^^^^^^^^^ как заставить эту заразу работать?

          >почитай статейку http://www.bog.pp.ru/work/squid.html
          >там многие вещи неплохо описаны
          Читал. Много думал :-)


          • RE: Производительность Squida, !*! Michael, 08:47 , 12-Фев-03 (5)
            >Да. Клиентов от 1 до 20
            >Канал 128kbit
            ИМХО, для такой нагрузки машинки PIII и 256Mb более чем достаточно
            зачем такой монстр?

            еще для небольшого ускорения можно указать
            maximum_object_size_in_memory 32 KB
            или даже 64 KB, поскольку памяти навалом...

            еще есть смысл поиграться с cache_replacement_policy и memory_replacement_policy, но вряд ли ты заметишь разницу в политиках при таком перевесе памяти...
            по грубым подсчетам, чтобы забить весь кэш в оперативной памяти нужно целый рабочий день полностью занимать канал серфингом...
            у меня сейчас на винте кэш меньше :)

            >cache_dir diskd /usr/local/squid/cache 15360 16 128

            >dns_children 10
            а путь к dnsserver не забыл указать?
            для использования diskd и для dns_children, насколько я в курсе, нужно было указать соответсвующие опции при компиляции

            >cachemgr_passwd 123456 all
            >^^^^^^^^^^^^^^^^^^^^^^^^^^ как заставить эту заразу работать?
            все замечательно работает!
            при входе указываешь имя юзера manager и свой пароль, и все работает!


        • RE: Производительность Squida, !*! poige, 15:27 , 23-Фев-03 (21)
          А что мешает internal DNS resolver использовать?... Зачем запускать еще и DNS-резолвер отдельным процессом?

          >а сколько стоит dns_children и authenticate_children ?
          >сколько примерно клиентов? если много, то ставь чилдренов не меньше 8 штук
          >каждых
          >
          >почитай статейку http://www.bog.pp.ru/work/squid.html
          >там многие вещи неплохо описаны

          Ну кстати, там же и написано:

          "...
          --disable-internal-dns (вместо внутренних запросов использовать внешние процессы dnsserver; рекомендуется для версий до 2.4)
          ..."

          /poige


          • RE: Производительность Squida, !*! Михаил, 18:40 , 23-Фев-03 (22)
            >А что мешает internal DNS resolver использовать?... Зачем запускать еще и DNS-резолвер
            >отдельным процессом?
            как я понимаю, чтобы резолвить ДНС адреса параллельно, а не последовательно, т.е. имхо internal DNS  - примерно то же самое, что dns_children 1... кроме того, во время резолвинга внешним резолвером сквид не останавливается и может обрабатывать другие запросы либо заниматься своими делами...
            а вообще, чтобы знать точно - надо код рыть, только смысл?

            >--disable-internal-dns (вместо внутренних запросов использовать внешние процессы dnsserver; рекомендуется для версий до
            >2.4)
            >..."
            видимо, какая-то особенность конкретных версий... не знаю...
            только, повторяюсь, какой смысл копать это, если последняя stable замечательно работает?

            • RE: Производительность Squida, !*! poige, 11:35 , 24-Фев-03 (23)
              >>А что мешает internal DNS resolver использовать?... Зачем запускать еще и DNS-резолвер
              >>отдельным процессом?
              >как я понимаю, чтобы резолвить ДНС адреса параллельно, а не последовательно, т.е.
              >имхо internal DNS  - примерно то же самое, что dns_children
              >1... кроме того, во время резолвинга внешним резолвером сквид не останавливается
              >и может обрабатывать другие запросы либо заниматься своими делами...
              >а вообще, чтобы знать точно - надо код рыть, только смысл?

              смысл в том, что при большой нагрузке и/или неоптимально выбранных значениях опции, может не хватить этих самых "DNS-детей" и тогда получим то, от чего пытались уйти.

              >>--disable-internal-dns (вместо внутренних запросов использовать внешние процессы dnsserver; рекомендуется для версий до
              >>2.4)
              >>..."
              >видимо, какая-то особенность конкретных версий... не знаю...
              >только, повторяюсь, какой смысл копать это, если последняя stable замечательно работает?

              Так в том то и дело, что 2.5 и есть latest stable (на 2003-02), который замечательно работает с внутренним резолвером, а тот, в свою очередь, реализует общение с DNS-серверами самостоятельно, используя очереди, без каких-либо блокировок... В общем, как я понял, фича "DNS-дети" давно устарела.

              /poige

              • RE: Производительность Squida, !*! Михаил, 20:46 , 24-Фев-03 (25)
                >смысл в том, что при большой нагрузке и/или неоптимально выбранных значениях опции,
                >может не хватить этих самых "DNS-детей" и тогда получим то, от
                >чего пытались уйти.

                На то и админ, чтобы правильно выставлять такие параметры... да и не так уж и много их надо...
                А вообще эти DNS-дети, имхо, имеют смысл в случае медленных или ненадежных DNS-серверов.
                Например, когда у меня из-за ошибок в настройках время резолвинга составляло порядка 5 секунд, положение спасали именно 8 штук ДНС-детей, которые рабоотали параллельно. В итоге хоть и с тормозами, но инет смотреть можно было, а без детей были бы сплошные тайм-ауты...

                >Так в том то и дело, что 2.5 и есть latest stable
                >(на 2003-02), который замечательно работает с внутренним резолвером, а тот, в
                >свою очередь, реализует общение с DNS-серверами самостоятельно, используя очереди, без каких-либо
                >блокировок... В общем, как я понял, фича "DNS-дети" давно устарела.
                Не совсем согласен, я бы сказал, что ее не обязательно применять, если имеется быстрый канал и надежный родительский ДНС.

  • RE: Производительность Squida, !*! FK, 23:18 , 19-Фев-03 (13)
    >Кто подскажет как максимально увеличить сабж?
    >Машинка на которой крутится сквид П3-1000/2Gb Ram/Винты SCSi/Кэш на отдельном винте.
    >При подключении мимо сквида скорость значительно выше!


    Примерно тоже - Cel-733/512Ram/4Gb SCSI. Через сквид медленне! %-\

    http_port 3128
    cache_mem 256 MB
    cache_swap_low 95
    cache_swap_high 99
    maximum_object_size 10240 KB
    minimum_object_size 0 KB
    maximum_object_size_in_memory 12 KB
    ipcache_size 1024
    ipcache_low 95
    ipcache_high 99
    fqdncache_size 1024
    cache_replacement_policy heap GDSF
    memory_replacement_policy heap LFUDA

    cache_dir diskd /usr/local/squid/var/cache 3700 16 256
    cache_access_log /usr/local/squid/var/logs/access.log
    cache_log /usr/local/squid/var/logs/cache.log
    cache_store_log none
    emulate_httpd_log off
    mime_table /usr/local/squid/etc/mime.conf
    log_mime_hdrs off
    pid_filename /var/run/squid.pid
    log_fqdn off
    client_netmask 255.255.255.255

    ftp_user user@chbs.ru
    ftp_list_width 64
    ftp_passive on
    ftp_sanitycheck off
    dns_children 2 # <- прекрасно справляются, т.к. всего 20 клиентов max
    dns_defnames on
    redirect_rewrites_host_header off

    request_header_max_size 4 KB
    request_body_max_size 0 KB
    refresh_pattern ^ftp:         &n... 1440    20%     10080
    refresh_pattern ^gopher:        1440    0%      1440
    refresh_pattern .               0       20%     4320
    quick_abort_pct 95
    negative_ttl 5 minutes
    positive_dns_ttl 6 hours
    negative_dns_ttl 10 minutes

    connect_timeout 2 minutes
    peer_connect_timeout 30 seconds
    read_timeout 5 minutes
    request_timeout 5 minutes
    persistent_request_timeout 2 minute
    client_lifetime 1 day
    half_closed_clients on
    pconn_timeout 180 seconds
    shutdown_lifetime 30 seconds

    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    logfile_rotate 4
    memory_pools off
    forwarded_for on
    log_icp_queries off
    store_avg_object_size 10 KB
    buffered_logs off
    icon_directory /usr/local/squid/share/icons
    error_directory /usr/local/squid/share/errors/Russian-1251
    minimum_retry_timeout 15 seconds
    max_open_disk_fds 0
    offline_mode off
    uri_whitespace encode
    nonhierarchical_direct off
    prefer_direct off
    strip_query_terms on
    coredump_dir none
    ignore_unknown_nameservers off
    client_persistent_connections on
    server_persistent_connections on
    pipeline_prefetch off
    store_dir_select_algorithm least-load
    ie_refresh on
    vary_ignore_expire on

    • RE: Производительность Squida, !*! Michael, 09:27 , 20-Фев-03 (14)
      >Примерно тоже - Cel-733/512Ram/4Gb SCSI. Через сквид медленне! %-\
      неплохо бы хотя бы на 800-й celeron или PIII заменить, т.е. чтобы шина была хотя бы 100 МГц, сквид любит память побыстрее... да и винт 4Gb SCSI не самый быстрый... имхо, современные IDE-шники побыстрее...
      но это все не особо критично...

      >cache_mem 256 MB
      уверен, что сквид может получить столько памяти? в своп система ничего не скидывает?

      >cache_swap_low 95
      >cache_swap_high 99
      не многовато ли? чем не устраивали значения по умолчанию 90 и 95?

      >maximum_object_size_in_memory 12 KB
      можно и побольше немного сделать...

      >cache_replacement_policy heap GDSF
      >memory_replacement_policy heap LFUDA


      >cache_dir diskd /usr/local/squid/var/cache 3700 16 256
      у тебя на всю систему и индексы кэша остается всего 300 Мб!!!
      имхо, как бы ты не урезал систему, но ставить больше 3000 нереально.
      и очень желательно под кэш свой раздел создать...
      а компилил с разрешением diskd?
      проверь, процесс diskd запущен?

      да и unlinkd не мешало бы прикрутить...

      >dns_children 2 # <- прекрасно справляются, т.к. всего 20 клиентов max
      а где указание внешнего dnsserver-а?
      и при компиляциие указал, что использовать именно внешний? по умолчанию используется внутренний и указание dns_children теряет смысл...
      кроме того, 2 - это мало! а если на одной странице много объектов с разным URL-ами?
      у меня на 5-ти пользователях реально используется до 4-5 чилдренов


      • RE: Производительность Squida, !*! FK, 13:03 , 20-Фев-03 (15)
        >>Примерно тоже - Cel-733/512Ram/4Gb SCSI. Через сквид медленне! %-\
        >неплохо бы хотя бы на 800-й celeron или PIII заменить, т.е. чтобы
        >шина была хотя бы 100 МГц, сквид любит память побыстрее... да
        >и винт 4Gb SCSI не самый быстрый... имхо, современные IDE-шники побыстрее...
        >

        память - 133 МГц. Остальное - мало рояля играет ...

        >но это все не особо критично...
        >
        >>cache_mem 256 MB
        >уверен, что сквид может получить столько памяти? в своп система ничего не
        >скидывает?

        Однозначно. Длительно мониторил это - в кэш вообще ничего не кидается. Да и оставшихся 256М должно хватить (на тачке только сквид фурычит)

        >
        >>cache_swap_low 95
        >>cache_swap_high 99
        >не многовато ли? чем не устраивали значения по умолчанию 90 и 95?
        >

        А почему бы и нет?

        >
        >>maximum_object_size_in_memory 12 KB
        >можно и побольше немного сделать...
        >

        можно, но все ж похоже не в этом причина...

        >>cache_replacement_policy heap GDSF
        >>memory_replacement_policy heap LFUDA
        >
        >
        >>cache_dir diskd /usr/local/squid/var/cache 3700 16 256
        >у тебя на всю систему и индексы кэша остается всего 300 Мб!!!
        >
        >имхо, как бы ты не урезал систему, но ставить больше 3000 нереально.
        >

        Э нет. Система - на отдельном раиде, а 300М под индексы хватить должно.
        Под сквид не просто отдельный раздел выделен, а целый винт на 4 Гб.

        Более того, тормоза начинаются с пустого кэше (что можно объяснить) и продолжаются даже при кеше размером в 1,5 Гб! При этом примерно 10-15% хитов в логах.

        >и очень желательно под кэш свой раздел создать...
        >а компилил с разрешением diskd?
        >проверь, процесс diskd запущен?
        >
        >да и unlinkd не мешало бы прикрутить...

        Конечно. diskd и unlinkd юзаются вовсю

        >
        >>dns_children 2 # <- прекрасно справляются, т.к. всего 20 клиентов max
        >а где указание внешнего dnsserver-а?

        да запущен он. Он по умолчанию прописан (см. squid.conf.default):

        #  TAG: cache_dns_program
        #    Specify the location of the executable for dnslookup process.
        #
        #Default:
        # cache_dns_program /usr/local/squid/libexec/dnsserver

        >и при компиляциие указал, что использовать именно внешний? по умолчанию используется внутренний

        ./configure --enable-dlmalloc --enable-gnuregex --with-pthreads --with-dl --enable-storeio=diskd,ufs --enable-removal-policies="heap,lru" --enable-delay-pools --enable-kill-parent-hack --enable-cachemgr-hostname=cache.chbs.ru --enable-ssl --with-openssl --enable-default-err-language=Russian-1251 --disable-http-violations --disable-internal-dns --enable-underscores --enable-x-accelerator-vary

        --disable-internal-dns - ведь так?

        >и указание dns_children теряет смысл...
        >кроме того, 2 - это мало! а если на одной странице много
        >объектов с разны%

      • RE: Производительность Squida, !*! FK, 13:03 , 20-Фев-03 (16)
        >>Примерно тоже - Cel-733/512Ram/4Gb SCSI. Через сквид медленне! %-\
        >неплохо бы хотя бы на 800-й celeron или PIII заменить, т.е. чтобы
        >шина была хотя бы 100 МГц, сквид любит память побыстрее... да
        >и винт 4Gb SCSI не самый быстрый... имхо, современные IDE-шники побыстрее...
        >

        память - 133 МГц. Остальное - мало рояля играет ...

        >но это все не особо критично...
        >
        >>cache_mem 256 MB
        >уверен, что сквид может получить столько памяти? в своп система ничего не
        >скидывает?

        Однозначно. Длительно мониторил это - в кэш вообще ничего не кидается. Да и оставшихся 256М должно хватить (на тачке только сквид фурычит)

        >
        >>cache_swap_low 95
        >>cache_swap_high 99
        >не многовато ли? чем не устраивали значения по умолчанию 90 и 95?
        >

        А почему бы и нет?

        >
        >>maximum_object_size_in_memory 12 KB
        >можно и побольше немного сделать...
        >

        можно, но все ж похоже не в этом причина...

        >>cache_replacement_policy heap GDSF
        >>memory_replacement_policy heap LFUDA
        >
        >
        >>cache_dir diskd /usr/local/squid/var/cache 3700 16 256
        >у тебя на всю систему и индексы кэша остается всего 300 Мб!!!
        >
        >имхо, как бы ты не урезал систему, но ставить больше 3000 нереально.
        >

        Э нет. Система - на отдельном раиде, а 300М под индексы хватить должно.
        Под сквид не просто отдельный раздел выделен, а целый винт на 4 Гб.

        Более того, тормоза начинаются с пустого кэше (что можно объяснить) и продолжаются даже при кеше размером в 1,5 Гб! При этом примерно 10-15% хитов в логах.

        >и очень желательно под кэш свой раздел создать...
        >а компилил с разрешением diskd?
        >проверь, процесс diskd запущен?
        >
        >да и unlinkd не мешало бы прикрутить...

        Конечно. diskd и unlinkd юзаются вовсю

        >
        >>dns_children 2 # <- прекрасно справляются, т.к. всего 20 клиентов max
        >а где указание внешнего dnsserver-а?

        да запущен он. Он по умолчанию прописан (см. squid.conf.default):

        #  TAG: cache_dns_program
        #    Specify the location of the executable for dnslookup process.
        #
        #Default:
        # cache_dns_program /usr/local/squid/libexec/dnsserver

        >и при компиляциие указал, что использовать именно внешний? по умолчанию используется внутренний

        ./configure --enable-dlmalloc --enable-gnuregex --with-pthreads --with-dl --enable-storeio=diskd,ufs --enable-removal-policies="heap,lru" --enable-delay-pools --enable-kill-parent-hack --enable-cachemgr-hostname=cache.chbs.ru --enable-ssl --with-openssl --enable-default-err-language=Russian-1251 --disable-http-violations --disable-internal-dns --enable-underscores --enable-x-accelerator-vary

        --disable-internal-dns - ведь так?

        >и указание dns_children теряет смысл...
        >кроме того, 2 - это мало! а если на одной странице много
        >объектов с разным URL-ами?
        >у меня на 5-ти пользователях реально используется до 4-5 чилдренов

        Может быть, попробую. Хотя при монопольном использовании сервера (мною ради теста) и загрузке plain-text страницы (т.е. без флешек, картинок и прочей муры) под 100Кб (что разница ощущалась) тормоза видны. Без сквида - нет проблем.


        • RE: Производительность Squida, !*! FK, 13:06 , 20-Фев-03 (17)
          ...вот еще:
          иногда в логах попадается TCP_SWAPFAIL_MISS, хотя винт рабочий (проверено) и с диском никто активно не работает (разве что сам сквид :)

          Кстати, интересна вообще причина появления подобного (не то, что это значит, а почему?...)

        • RE: Производительность Squida, !*! FK, 15:47 , 20-Фев-03 (18)
          Попробовал dns_child 5, и даже 10 - все равно тормоза.
          Что ж это за задница-то, а.....
          • RE: Производительность Squida, !*! Michael, 17:01 , 20-Фев-03 (19)
            >Попробовал dns_child 5, и даже 10 - все равно тормоза.
            >Что ж это за задница-то, а.....

            надо копать...
            попробуй вместо (именно вместо!) текущего кэша задать маленький, например 10 Мб, кэш на другом физическом диске/рейде, запусти squid -z, потом squid. попробуй поработать с таким кэшем.
            возможно, дело в политиках кэширования, попробуй lru, например...
            места на всех разделах хватает? а инодов? файловую систему на диске с кэшем проверял?
            почитай тайминги в cachmgr, на что тратится много времени?

            • RE: Производительность Squida, !*! FK, 18:46 , 20-Фев-03 (20)
              ..и конечно, как усегда, ларчик сравнительно просто открывался.

              Все дело было в
              digest_generation on
              pipeline_prefetch off
              что ставиться по умолчанию. Сменил на обратные значения - и получил выигрыш - те самые 15%. Т.е. ща что через сквид, что мимо - фиолетово одинаково :)
              Посмотрим, как это на большой загрузке сработает (ща юзеров включать буду :))))

              З.Ы. Попутно выяснилось, что увеличение redirect_child с 5 до 10, вариации с политикой кешей и прочей лабудой ощутимо не сказываются на производительности. Зато как долго ковырялся..... %-/

              • RE: Производительность Squida, !*! poige, 13:27 , 24-Фев-03 (24)
                >..и конечно, как усегда, ларчик сравнительно просто открывался.
                >
                >Все дело было в
                >digest_generation on
                >pipeline_prefetch off
                >что ставиться по умолчанию. Сменил на обратные значения - и получил выигрыш
                >- те самые 15%. Т.е. ща что через сквид, что мимо
                >- фиолетово одинаково :)

                кхм. Точно? А не пробовал, что-нть одно из двух? Например, только pipeline?

                /poige




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру