Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > Операционные системы > Microsoft Windows

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 25.10.2006, 13:23   #1
Неактивный пользователь
 
Регистрация: 17.06.2005
Сообщений: 15
Репутация: 2
По умолчанию Поиск записей в AD

Возникла проблема, нужно обращаться к AD с веб-сервера (Windows 2000 Server) на контроллер домена (Windows 2000 Server). Проблема в том, что это происходит очень медленно (медленное подключение, медленная авторизация и медленный поиск), если делать тоже самое с локальной машины (Windows XP), то всё просто летает. Суть проблемы: как оптимизировать подключение к AD, чтобы поиск происходил также быстро, как и на WinXP. Может кому приходилось решать такую проблему? Может есть какие идеи на эту тему?:7:
S|lent вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: вентиляторы канальные прямоугольные ценыgayaforesгамак на подставкестол круглый раздвижной на кухнюкруглая деревянная подставка


Старый 25.10.2006, 14:56   #2
arkasha
ViP
 
Аватар для arkasha
 
Регистрация: 21.04.2005
Сообщений: 1,117
Репутация: 1425
По умолчанию Re: Поиск записей в AD

S|lent, так может быть дело в загруженности веб-сервера?...
arkasha вне форума
 
Ответить с цитированием Вверх
Старый 25.10.2006, 15:11   #3
S|lent
Неактивный пользователь
 
Регистрация: 17.06.2005
Сообщений: 15
Репутация: 2
По умолчанию Re: Поиск записей в AD

Цитата:
Сообщение от arkasha
S|lent, так может быть дело в загруженности веб-сервера?...

Вариант, но маловероятно, т.к. к нему происходит примерно 50 подключений в сутки.
Это подключения извне. У меня сайт смотрит в локалку, вот именно на нём и вся проблема (там подключений всего 1).
S|lent вне форума
 
Ответить с цитированием Вверх
Старый 25.10.2006, 15:58   #4
STTR
Постоялец
 
Аватар для STTR
 
Пол:Мужской
Регистрация: 28.11.2005
Сообщений: 207
Репутация: 130
По умолчанию Re: Поиск записей в AD

Цитата:
Сообщение от S|lent
Возникла проблема, нужно обращаться к AD с веб-сервера (Windows 2000 Server) на контроллер домена (Windows 2000 Server). Проблема в том, что это происходит очень медленно (медленное подключение, медленная авторизация и медленный поиск), если делать тоже самое с локальной машины (Windows XP), то всё просто летает. Суть проблемы: как оптимизировать подключение к AD, чтобы поиск происходил также быстро, как и на WinXP. Может кому приходилось решать такую проблему? Может есть какие идеи на эту тему?:7:

Подключайтесь через SQL Server. Из него же посылайте запросы.
Способов связей SQL Server с IIS более чем достаточно.

Собственно как ...

USE master
if exists (select * from sysservers where srvname = N'ADSI') exec sp_dropserver @server = 'ADSI'
exec sp_addlinkedserver @server='ADSI',
@srvproduct='"LDAP://W7"',
@provider='ADsDSOObject',
@datasrc='"LDAP://W7"',
@location=NILL, -- DBPROP_INIT_LOCATION
@provstr='ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648',
@catalog=NILL -- DBPROP_INIT_CATALOG
GO
--exec sp_serveroption 'ADSI','Data Access',TRUE
exec sp_serveroption 'ADSI','rpc',TRUE
exec sp_serveroption 'ADSI','rpc out',TRUE
exec sp_addlinkedsrvlogin
@rmtsrvname='ADSI',
@useself=TRUE
/*
SELECT * FROM openquery(ADSI,
'SELECT Name, AdsPath, cn, TelephoneNumber, objectCategory, objectSID
FROM ''LDAP://W7''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''*''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''user''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''top''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''domain''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''domainDNS''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''container''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''organizationalUnit''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''lostAndFound''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''infrastructureUpdate''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''msDS-QuotaContainer''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''fileLinkTracking''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''msDS-QuotaContainer''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''rpcContainer''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''fileLinkTracking''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''linkTrackVolumeTable''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''linkTrackObjectMoveTable''')
SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''leaf''')
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''*''')
WHERE objectSID IS NOT NULL ORDER BY objectSID
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''domainPolicy''')
ORDER BY NAME
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''classStore''')
ORDER BY NAME
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''groupPolicyContainer''')
ORDER BY NAME
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''applicationSettings''')
ORDER BY NAME
SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''nTFRSSettings''')
ORDER BY NAME
--ipsecBase
--ipsecPolicy

SELECT * FROM openquery(ADSI,
'SELECT Name FROM ''LDAP://W7'' WHERE objectClass = ''user''')

SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''groupPolicyContainer''')
ORDER BY NAME
*/

SELECT * FROM openquery(ADSI,
'SELECT AdsPath, cn, TelephoneNumber, objectCategory, objectSID, Name FROM ''LDAP://W7'' WHERE objectClass = ''*''')
ORDER BY NAME
__________________
У шамана три руки
Мир вокруг, как темный зал
На ладонях золотых
Нарисованы глаза (C) Пикник.
STTR вне форума
 
Ответить с цитированием Вверх
Старый 25.10.2006, 16:06   #5
arkasha
ViP
 
Аватар для arkasha
 
Регистрация: 21.04.2005
Сообщений: 1,117
Репутация: 1425
По умолчанию Re: Поиск записей в AD

S|lent, все равно не понимаю логики. Проблема либо в нагрузке сети, либо нагрузке (любой не только сетевой) на сервер. При чем здесь настройки?
arkasha вне форума
 
Ответить с цитированием Вверх
Старый 25.10.2006, 16:09   #6
S|lent
Неактивный пользователь
 
Регистрация: 17.06.2005
Сообщений: 15
Репутация: 2
По умолчанию Re: Поиск записей в AD

Прошу прощения что сразу не написал, подключаюсь по протоколу ldap с использованием ldap-функций встроенных в php. Поэтому мне интересно, <b>STTR</b>, насколько это будет быстрее работать, ведь в MSSQL запрос мы всё равно отсылаем по тому же протоколу ldap. Или я в чём-то ошибаюсь?

Добавлено через 11 минут 32 секунды
Цитата:
Сообщение от arkasha
S|lent, все равно не понимаю логики. Проблема либо в нагрузке сети, либо нагрузке (любой не только сетевой) на сервер. При чем здесь настройки?

Согласен, наверно не совсем корректно описал проблему. Если я делаю пинг со своей машины (WinXP), то он проходит с временем <1ms, в то время как тотже самый пинг с сервера (Windows 2000 Server) идёт <10ms. Пробую делать пинг с обычной машины (Windows 2000), пинг <10ms, хотя подсеть таже что и у меня. Я склоняюсь в сторону сетевых тормозов, но объяснить и соответственно исправить этот баг не могу...

Последний раз редактировалось S|lent; 25.10.2006 в 16:20.. Причина: Добавлено сообщение
S|lent вне форума
 
Ответить с цитированием Вверх
Старый 26.10.2006, 02:40   #7
STTR
Постоялец
 
Аватар для STTR
 
Пол:Мужской
Регистрация: 28.11.2005
Сообщений: 207
Репутация: 130
По умолчанию Re: Поиск записей в AD

Цитата:
Сообщение от S|lent
Прошу прощения что сразу не написал, подключаюсь по протоколу ldap с использованием ldap-функций встроенных в php. Поэтому мне интересно, STTR, насколько это будет быстрее работать, ведь в MSSQL запрос мы всё равно отсылаем по тому же протоколу ldap. Или я в чём-то ошибаюсь?

Странно, через ldap хоть и медленее, но запрос должен возвращаться довольно быстро.

Нет, не через ldap, а через ADO и COM-интерфейс OLE DB.
Конкретнее, через Microsoft OLE DB Provider for Microsoft Active Directory Service. А ADO является надстройкой над интерфейсом OLE DB, для возможности работы через T-SQL, C#, VC, WSH, VB ...

Быстрее моего способа, только VC из-за особенностей языка и интерфейсов, при помощи VB или WSH - будет меленнее, чем при работе с VC.

Добавлено через 5 минут 10 секунд
Цитата:
Сообщение от S|lent
Возникла проблема, нужно обращаться к AD с веб-сервера (Windows 2000 Server) на контроллер домена (Windows 2000 Server). Проблема в том, что это происходит очень медленно (медленное подключение, медленная авторизация и медленный поиск), если делать тоже самое с локальной машины (Windows XP), то всё просто летает. Суть проблемы: как оптимизировать подключение к AD, чтобы поиск происходил также быстро, как и на WinXP. Может кому приходилось решать такую проблему? Может есть какие идеи на эту тему?:7:

А попробуйте в параметрах подключения к ldap-серверу использовать не имя, а IP адрес, может дело в разрешении имен в ДНС?

Добавлено через 13 минут 15 секунд
Да, еще одно, с задачей с которой Вы бъетесь, давно справился IIS.
Накрутить на него Perl и PHP не составит ни какого труда.

Не расскажите, ради чего огород? ))
__________________
У шамана три руки
Мир вокруг, как темный зал
На ладонях золотых
Нарисованы глаза (C) Пикник.

Последний раз редактировалось STTR; 26.10.2006 в 02:54.. Причина: Добавлено сообщение
STTR вне форума
 
Ответить с цитированием Вверх
Старый 26.10.2006, 06:20   #8
fylhtqrf
Постоялец
 
Пол:Мужской
Регистрация: 03.09.2005
Адрес: отдаленный район ссыльных каторжников
Сообщений: 243
Репутация: 43
По умолчанию Re: Поиск записей в AD

Посмотри как у тебя на W2000 - идет tracert до вин сервера и как идет путь на wXP.- Скорее всего проблема в маршруте. А однажды - эта беда была у провайдера моего - мне поменяли логин и и все стало ОК. А на мой вопрос как связаны тормоза сети и логин : он уклончиво промолчали
fylhtqrf вне форума
 
Ответить с цитированием Вверх
Старый 26.10.2006, 16:13   #9
arkasha
ViP
 
Аватар для arkasha
 
Регистрация: 21.04.2005
Сообщений: 1,117
Репутация: 1425
По умолчанию Re: Поиск записей в AD

S|lent, может здесь собака зарыта
Цитата:
Групповые политики применяются к клиентам с ОС Windows XP асинхронно, а с ОС Windows 2000 — синхронно, то есть пользовательский экран входа появляется только после применения всех политик компьютера, а политики пользователя применяются до того, как появился рабочий стол. Асинхронное применение политик означает, что пользовательский экран входа появляется раньше, чем успевают примениться все политики компьютера, а рабочий стол — раньше, чем применятся все пользовательские политики, что приводит к ускорению загрузки и входа пользователя.

arkasha вне форума
 
Ответить с цитированием Вверх
Старый 27.10.2006, 14:19   #10
S|lent
Неактивный пользователь
 
Регистрация: 17.06.2005
Сообщений: 15
Репутация: 2
По умолчанию Re: Поиск записей в AD

Цитата:
Сообщение от arkasha
S|lent, может здесь собака зарыта

Очень может быть, что так оно и есть. Только как решить эту проблему непонятно, т.к. перенос сайта на WinXp начальством не планируется.

<b>fylhtqrf</b>, tracert'ом уже всё проверил неоднократно, пробовал менять даже коктроллеы домена, результат один и тотже. С маршрутами всё впорядке. Вся проблема скорее всего в обработке груповых политик, как написал <b>arkasha</b>.

Цитата:
Сообщение от STTR
Да, еще одно, с задачей с которой Вы бъетесь, давно справился IIS.
Накрутить на него Perl и PHP не составит ни какого труда.

Не расскажите, ради чего огород? ))

<b>STTR</b>,так у меня и сделано, к IIS прикручен PHP, используется встроенная проверка подлинности Windows. Это всё нужно так сказать для сквозной авторизации доменных пользователей и раздачи им прав на сайте.
Приведу пару цифр: при работе скрипта на веб-сервере Windows 2000 Server поиск в AD - 22.9 сек;
при работе скрипта на веб-сервере Windows XP поиск в AD - 0.02 сек
Скрипты абсолютно одинаковые, настройки веб-серверов тоже, т.е. сам сайт разрабатывался на локальной машине Windows XP, а потом перемещался на Windows 2000 Server.
По поводу изменения имени сервера на его ip - результат такой же.

Последний раз редактировалось S|lent; 27.10.2006 в 15:31..
S|lent вне форума
 
Ответить с цитированием Вверх
Старый 27.10.2006, 14:31   #11
arkasha
ViP
 
Аватар для arkasha
 
Регистрация: 21.04.2005
Сообщений: 1,117
Репутация: 1425
По умолчанию Re: Поиск записей в AD

Цитата:
Сообщение от S|lent
Очень может быть, что так оно и есть. Только как решить эту проблему непонятно

Смотрим
http://ru-board.com/new/article.php?sid=174#chap4
arkasha вне форума
 
Ответить с цитированием Вверх
Старый 03.11.2006, 13:27   #12
Monya
Banned
 
Регистрация: 03.11.2006
Сообщений: 3
Репутация: 0
По умолчанию Re: Поиск записей в AD

в support tools-ах сервера есть утилы addiag и dcdiag, я бы на твоем месте оттестил этими утилами записи AD с особенным пристрастием адресацию к GC, ну и конечно настройки для внутреннего и внешнего интерфейсов на IIS.
Monya вне форума
 
Ответить с цитированием Вверх
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка записей из таблицы dbf Diver_wing Базы данных 8 04.05.2013 23:59
Добавление записей в TAdoQuery в RunTime Litvinenko_A Delphi 4 27.05.2009 17:56
Персональный поиск Яндекса - полнотекстовый поиск по файлам на локальном компьютере S_A_S_H_A Freeware софт 0 10.07.2008 05:11
Автозагрузка-удаление записей Владитмир Microsoft Windows 3 17.01.2006 01:33

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:05. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.19343 секунды с 13 запросами