Apache httpd интеграция LDAP

Я не думаю, что Ваш диск является проблемой. ncache первого nginx использует дисковое хранилище для кэша. Так, скорость диска будет одной потенциальной причиной проблем в зависимости от того, насколько горячий/холодный Ваш набор данных, однако, я не вижу оснований, что Вы не могли служить 100mb/sec с аппаратными средствами, которые Вы упомянули - особенно при использовании nginx.

Первой вещью, которую я предположил бы, является Ваш # рабочих процессов, было низким, Ваши worker_connections были, вероятно, слишком низкими, и у Вас, вероятно, не было своего набора open_file_cache достаточно высоко. Однако ни одна из тех настроек не вызвала бы высокий IO, Ожидают, ни скачок как этот. Вы говорите обслуживание <50k изображений, и похоже, что 1/4 набора мог легко быть буферизован ОС. Nginx, конечно, не настроен оптимально.

Лак решает проблему в немного отличающемся способе использовать RAM, а не диск для его кэша.

Много зависит от Вашего набора данных, но, на основе данных Вы дали, я не вижу оснований для диска IO для пронзания как этот. Вы проверяли dmesg и журналы, чтобы видеть, встретился ли один из Ваших дисков с некоторыми ошибками IO в то время? Единственная другая вещь я могу думать, что это, возможно, вызвало тот скачок, превышала filecache nginx, который заставит это должным быть входить в режим FIFO, открывающий новые файлы.

Удостоверьтесь, что Ваша файловая система смонтирована с noatime, который должен сократить значительную сумму writeops от Вашей рабочей нагрузки.

Как пример машины, которая регулярно обрабатывает 800mb/sec:

# uptime
 11:32:27 up 11 days, 16:31,  1 user,  load average: 0.43, 0.85, 0.82

# free
             total       used       free     shared    buffers     cached
Mem:       8180796    7127000    1053796          0       1152    2397336
-/+ buffers/cache:    4728512    3452284
Swap:      8297568     237940    8059628

Quadcore Xeon:
    Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz

$ ./bw.pl xxx.xxx 2010-09-01 2010-09-30
bw: 174042.60gb

average 543mb/sec, peaks at 810mb/sec

=== START OF INFORMATION SECTION === Model Family:     Seagate Barracuda
7200.12 family Device Model:     ST3500418AS Serial Number:    6VM89L1N
Firmware Version: CC38 User Capacity: 
500,107,862,016 bytes

Linux 2.6.36-rc5 (xxxxxx)   10/04/2010  _x86_64_    (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.33    0.00    2.40    5.94    0.00   87.33

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             109.61     19020.67       337.28 19047438731  337754190

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.09    0.00    3.40   10.26    0.00   78.25

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             138.52     21199.60       490.02     106210       2455

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.74    0.00    3.25    9.01    0.00   84.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             125.00     21691.20       139.20     108456        696

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.75    0.00    3.12   14.02    0.00   78.11

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             154.69     19532.14       261.28      97856       1309

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.81    0.00    3.36    9.48    0.00   80.36

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             112.80     17635.20       309.00      88176       1545

MRTG:

http://imgur.com/KYGp6.png

Набор данных:

# du -sh ads
211.0G  ads

# ls|wc -l
679075

2
задан 12 October 2012 в 01:49
2 ответа

Вы неправильно указали DN группы, и это видно по сообщению об ошибке. Вероятно, это должно выглядеть так:

Require ldap-group CN=Development,OU=Security Groups,OU=VegiBanc,dc=vegibanc,dc=com

Edit : Поскольку это не кажется проблемой, убедитесь, что вы установили

AuthLDAPGroupAttribute member uniquemember
AuthLDAPGroupAttributeIsDN on

, что я считаю правильным для вашей среды AD. Это значения по умолчанию в mod_authnz_ldap , но это может помочь только установить их явно.

У меня вообще нет других идей, ваша конфигурация выглядит правильной. Мне только интересно, почему у вас не было директивы Require в исходной конфигурации. Но вы сказали, что он работает, поэтому, возможно, он по умолчанию Требовать действительного пользователя .

Редактировать 2: Поскольку у нас очень похожая установка (но не с AD), я просмотрел нашу конфигурацию и обнаружил, что можно ' t использовать Требовать ldap-group вместе с функциями авторизации Subversion. Это описано здесь: https://ctf.open.collab.net/sf/go/artf4917 . В нашем случае это не было проблемой, поскольку мы использовали AuthzSVNAccessFile для авторизации. Require ldap-group , кажется, просто вела себя как Require valid-user .

Это на самом деле не объясняет мне, почему вы получаете сообщение «Плохой фильтр поиска», но для того, чтобы разрешить доступ к папке / svn только членам вашей группы разработки, вам следует расширить AuthLDAPURL с помощью группового фильтра и удалить Require ldap-group ] директива. Поскольку вы используете AD, вы можете использовать memberOf в следующих строках:

AuthLDAPURL ldap://ldap.vegibanc.com/dc=vegibanc,dc=com?sAMAccountName?sub?(&(objectCategory=person)(memberOf=CN=Development,OU=Security Groups,OU=VegiBanc,dc=vegibanc,dc=com)) NONE

Подробнее здесь:

http: // subversion. open.collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=417401

https://ctf.open.collab.net/sf/wiki/do/viewPage/projects.svnedge/wiki/FrequentAskedQuestions#section- FretimesAskedQuestions-HowCanIRestrictLogonToMembersOfAParticularGroup

1
ответ дан 3 December 2019 в 10:53

Я все равно передаю это daff , потому что его ссылки приводят меня к реальной проблеме. Мне не удалось заставить фильтрацию работать, как предлагал daff, но я нашел проблему.

Утверждение, которое привело меня к решению, было:

Поскольку мы используем очень похожую установку (но не с AD) , Я просмотрел нашу конфигурацию и обнаружил, что нельзя использовать Require ldap-group вместе с функциями авторизации Subversion.

Несколько ссылок daff предложили прокомментировать это и не предложили никакого решения, кроме использования фильтрации, которую я не мог заставить работать.

Затем я решил взглянуть на http.conf , предоставленный Collabnet. И вот что я увидел:

#LoadModule python_module      opt/CollabNet_Subversion/modules/mod_python.so
LoadModule dav_svn_module     opt/CollabNet_Subversion/modules/mod_dav_svn.so
LoadModule authz_svn_module   opt/CollabNet_Subversion/modules/mod_authz_svn.so
#LoadModule dontdothat_module  opt/CollabNet_Subversion/modules/mod_dontdothat.so

А! Они загружают authz_svn_module ! Я просто отключил его:

#LoadModule python_module      opt/CollabNet_Subversion/modules/mod_python.so
LoadModule dav_svn_module     opt/CollabNet_Subversion/modules/mod_dav_svn.so
#LoadModule authz_svn_module   opt/CollabNet_Subversion/modules/mod_authz_svn.so
#LoadModule dontdothat_module  opt/CollabNet_Subversion/modules/mod_dontdothat.so

И затем вернулся к моей конфигурации ___original____ в collabnet_subversion.conf :

<Location /svn>
  DAV svn
  SVNParentPath /mnt/svn/new_repos
  SVNListParentPath on
  AuthName "VegiBanc Source Repository"
  AuthType basic
  AuthzLDAPAuthoritative off
  AuthBasicProvider ldap
  AuthLDAPURL ldap://ldap.vegibanc.com/dc=vegibanc,dc=com?sAMAccountName" NONE
  AuthLDAPBindDN "CN=SVN-Admin,OU=Service Accounts,OU=VegiBanc Users,OU=VegiBanc,DC=vegibanc,DC=com"
  AuthLDAPBindPassword "swordfish"
  Require ldap-group CN=Development, OU=Security Groups, OU=VegiBanc, dc=vegibanc, dc=com
</Location>

И теперь это работало как шарм!

Спасибо, дафф, за вашу помощь. Я думаю, что моя проблема с фильтром в том, что мне нужно было Требовать действительного пользователя , и я не вставлял его, но теперь это работает.

2
ответ дан 3 December 2019 в 10:53

Теги

Похожие вопросы