535i,или не умеете искать : engine/ajax/find_relates.php , engine/modules/fullsearch.php, engine/modules/show.full.php
535i, у вас какой-то неправильный DLE либо вы не умеете искать. Это поведение переключается нажатием кнопочек в админке.
535i, LIKE видите? Это обычный поиск. Он перебирает и сравнивает все записи.
Жмите кнопочки в админке, переключайте тип поиска. Должна быть поменьше нагрузка.
Не могу точно сказать за DLE, возможно, он продолжит формировать подобные запросы с LIKE, но уже не в поиске, а в других местах.
Если там встречаются часто используемые слова, то их можно внести в специальный список стоп-слов и переиндексировать с помощью REPAIR TABLE. Индекс станет меньше, а скорость поиска больше. Поиск по таким словам не выдаст ничего. Подробности в документации к утилите myisam_ftdump.
Совет с innodb пока отпадает. Sphinx действительно хорош, но с ним больше возни.
535i, так стандартный DLE с использованием LIKE или полнотекстовый с использованием MATCH .. AGAINST ? там можно задать два типа в админке. Запросы покажите, я скажу какой именно используется у вас.
А то sphinx - дело хлопотное. И полнотекстовый поиск в mysql не настолько плох, как о нем думают.
Вообще-то, в dle и так уже есть полнотекстовый поиск. И он не сильно медленнее чем sphinx в масштабах обычного сайта. По крайней мере ускоряет поиск по сайту.
Вы кнопочки-то в админке тыкали?
535i, переведи данные в innodb, подними лимиты innodb и само все загонится. Для более быстрого прогрева можно запустить какой-нибудь читающий все строки запрос.
Это принципиально лучше, чем tmpfs, так как исключает межпроцессный обмен данными. Все уже находится внутри innodb pool. К сожалению, может потребоваться больше памяти чем при использовании myisam.
Остальные варианты сложны и непрактичны.
Но раз уж tmpfs не помог, то и этот способ точно не улучшит скорость на порядки.
alexkv, это не холивар, а критика предрассудков. mysql прекрасно работает и на windows.
тем более в данном случае речь не идет о каких-то сложных запросах. всего лишь хранение данных о пользователях.
настроить shared для внешних подключений может оказаться невозможно.
T.R.O.N, gene6 не портированный.
Что конкретно на винде у вас не срослось с mysql ? помочь?
А не требует. Я дописываю нужные параметры в конец записи, а awstat прекрасно все жует как ни в чем не бывало.
Ну так и где это решение? Кто его написал? исходя из того, что нормальный программист об интерфейсные заморочки да еще и на С мараться не будет. Хочу просто логику программировать.
Ах вы про обычный нат. Я то думал вы про NAT на сервере.
Тогда не понимаю причем тут исключения. Конечно, программа читающая логи сможет обработать NAT более удобно.
Да, кстати, у меня код, который раньше читал access.log, легко переделался под чтение вывода tcpdump и получилось отражение и syn-флуда и простого бессмысленного udp.
обычно веб-сервер ничего не знает о php-приложении.
Почти бесполезно. Если обычные запросы не завершаются хотя бы за 5-10 секунд - сайт уже в жопе. Все остальное в логах.
Ну и где взять такое решение? опять писать на C ?
Тут вам предлагают одновременно и просто и безопасно.