Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #3039 [660]
 От   : Nikolai Chuvakhin             2:5020/175.2        24 сентября 03, 03:59
 Кому : Nicolay Skvortsov                                 26 августа 03, 21:10
 Тема : скорость работы проекта
-------------------------------------------------------------------------------
From: "Nikolai Chuvakhin" 

Mon Sep 22 2003 02:58, Nicolay Skvortsov wrote to Nikolai Chuvakhin:

NS> если сайт построен на 60% на объектах (классах), то это
NS> замедляет работу сайта? Если да, то влияет ли наследование 
NS> классов на производительность?

Очень не прямо. Сами по себе классы и их наследование не сильно 
замедляют работу. Затык может возникнуть, если слишком часто 
используются include() и/или require(). Эти функции требуют 
обращения к диску, отсюда и замедление. Страница вызывает файл, 
в котором определен класс-потомок, этот файл в свою очередь 
вызывает файл, в котором определен класс-предок, диск крутится, 
время идет, работа стоит... :) 

NS> По приблизительным и усредненным оценкам, на сколько Zend 
NS> может увеличить скорость работы сайта?

В разы. 

NS> Сейчас думаем перевезти проект на виртуальный unix, 

Тогда и думать забудьте о яндексовой скорости... Если Вам нужна 
серьезная производительность, без серьезного оборудования, над 
которым у Вас есть полный административный контроль (что 
подразумевает либо dedicated server, либо colocation), ее не 
добиться. 

NS> Каким образом можно подсчитать, сколько памяти нужно, 

Самый простой способ -- прикиньте потребности в памяти Вашего 
самого голодного скрипта и умножьте на число одновременно работающих 
копий. Пример. Сайт получает 360 тысяч запросов в час (или 100 в 
секунду), время исполнения скрипта на малозагруженном сервере -- 
0.1 секунды. Соответственно, предполагая равномерное распределение 
по времени поступающих запросов, на сервере работает одновременно 
(100 * 0.1) = 10 копий скрипта. Поскольку в реальности запросы по 
времени распределены неравномерно, вполне возможно, что временами 
у Вас будет работать значительно больше копий. Для страховки примем
20. Теперь предположим, что Ваш скрипт использует два мегабайта 
памяти. Значит двадцати его копиям понадобится 40 мегабайт (это не 
считая того, что уже отведено операционной системе и ее демонам, 
включая Apache и сервер баз данных). Если будет меньше, сервер будет 
использовать дисковый буфер, и скорость исполнения сильно упадет. 

NS> А вообще если попробовать уйти от MySQL в сторону что-нибудь более
NS> шустрого...???

Мне лично сомнительно. Если я правильно понял последний Database 
Clash, MySQL 4.0.1 Max на серьезной аппаратуре имеет производительность, 
аналогичную Oracle 9i (но Oracle при этом хочет 400 кб оперативной 
памяти на соединение, а MySQL обходится 50). MS SQL Server 2000 
начинает заметно отставать от MySQL и Oracle при 300 одновременных 
соединениях, DB2 7.2 начинает сильно заикаться при 600. (Стоит напомнить, 
однако, что тестовое приложение Database Clash написано на JSP.)

В общем, читайте и делайте свои собственные выводы: 

http://www.eweek.com/article2/0,4149,293,00.asp

С уважением, Hиколай Чувахин

--- ifmail v.2.15dev5
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)


При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!