Привет всем.
Вот несколько советов по поводу оптимизации сервера.
Все эти советы взяты из презентации: http://www.slideshare.net/csixty4/lamp-optimization
Автор: http://www.slideshare.net/csixty4
Цифры обозначают номера слайдов. Я не стал приводить полный листинг, только по существу.
Не смотря на то, что LAMP это Linux Apache MySQL PHP, данные советы помогли мне разогнать сервер на винде
1. LAMP Optimization
Dave Ross :: Suburban Chicago PHP & Web Development Meetup :: SuburbanChicagoPHP.org :: October 1, 2009 (Название, автор, место проведения и дата проведения презентации).

4. Я не сисадмин, но я знаю что мне нужно.
5. Мне нужны быстрые сервера
6. LAMP – Linux Apache MySQL PHP
7. Оптимизация Linux:
а). Избегать использования подкачки памяти.
б). Выключите статстику доступа к файлам
в). Купите еще сервер.
8. vmstat -S M Virtual memory statistics in Megabytes (or Kilobytes) позволяет следить за состоянием виртуальной памяти.
9. “Free” drop + High “Swap” = Тормоза. Эти параметры можно отследить командой vmstat -S M
10. Вообщем, вставляйте себе как можно больше RAM, это дешево и эффективно.
11. “Access Timestamp” – Журналирование доступа к файлам.
12. “I agree, we really should do something about atime.” – Linus Torvalds, 2007
Статистика в Юниксовый системах: http://en.wikipedia.org/wiki/Stat_%28Unix%29
Обновление статистики при каждом чтении файла приводит к падению производительности.
13. Отредактируйте /etc/fstab в четвертой колонке добавьте: noatime,nodiratime
Сохраните, перезагрузитесь.
15. Купите еще сервер, настройте кластер баллансировки нагрузки.

16. Оптимизация Apache
а). mod_cache
б). Keep the riff-raff out
в). Increase MaxClients
17. a2enmod cache mem_cache – устанавливаем mod_cache
18. Кешируйте статичную информацию в оперативке (RAM)
20. mod_evasive – модуль, замещающий mod_access, обеспечивая функциональные возможности для защиты от DoS атак. Модуль отклоняет быстро повторяющиеся запросы с одного адреса, ипользуя внутреннюю таблицу.
21. Защита от назойливых ботов, сканеров и атак.
22. Вы получите более равномерное распределение ресурсов между всеми клиентами.
23. MaxClients в Вашем файле httpd.conf
24. Это число нужно подобрать так, что бы эффективно обрабатывать всех паралельных клиентов.
26. Данная настройка потребует увеличения оперативки, так что не жалейте RAM.

27. Оптимизация MySQL
а). Key Buffer
б). Query Cache
в). InnoDB
28. Key Buffer в файле настроек my.cnf
29. Руководит кеширование индексов таблиц
30. key_buffer_size=128M
Стоит выбирать 20-25% от всей доступной оперативки.
31. Query Buffer в файле настроек my.cnf
32. Кеширует обработанные селекты
33. query_buffer_size=64M Стоит выставлять половину от key_buffer_size
Мои личные замечание:
Стоит так же обратить внимание еще на две переменные tmp table size и max tmp tables
tmp_table_size – у меня стоит 2M, но тут нужно пробовать и смотреть сколько временных таблиц будет записано на диск. При досточно высоком tmp_table_size временные таблицы будут создаваться только в оперативке, что намного быстрей чем их запись на диск. Причем общая память будет вычисляться так: tmp table size * max tmp tables
35. InnoDB database engine
36. InnoDB лочит только ряды а не целиком таблицы
37. Получаем более быстрые операции UPDATE
38. Эта система оптимизирована для доступа по ключам
39. Получаем более быстрые операции SELECT и UPDATE

40. Optimizing PHP
а). Upgrade to PHP 5.3
б). Install an accelerator
в). Enable output buffering
41. PHP 5.3 имеет встроенный mysqlnd
42. Это нативный драйвер
43. Работает быстрее до 30%
44. Акселераторы PHP
а). Alternative PHP Cache (APC) : ускоряет в 3x-5x раз
б). eAccelerator
в). XCache
г). Zend Optimizer+
45. Буферизация вывода
46. Вообще то, буферизация немного замедляет выполнение кода
47. Однако браузер получает всю страницу сразу
48. Субъективно это ощущается быстрее
49. Вопросы? davidmichaelross.com daveross.tel
Ну и на последок, вставка от меня. Здесь много говорилось про активное исользование RAM. Я нашел для себя програмку для мониторинга памяти под виндой: RAMpage
Источник: http://www.drupal.ru/node/41594
Добавить комментарий к записи "Оптимизация сервера. Разгоняем LAMP"
Чтобы комментировать, необходимо войти в систему.