Затыки IO

Активист

Активист
Команда форума
А это на серваке:
6.2
8 458.0

Я в код не всматривался :) Что есть последняя цифра?
 

craz

Нестандартное звание
это 1/(время записи чтения удаления 100 файлов по 3100 байт) / деленная
 

Активист

Активист
Команда форума
1 делить на что-то > 1 всегда получиться число < 0, как у етбя тысячи получаются?

Что бы вычислить среднее время записи/чтения и т.п. 100 файлов нужно взять суммарно затраченное время и разделить на количество интераций.
Кстати, еще в коде не хватает clearstatcache

Еще скорость зависит от размере буфера, от размере ноды в рейде, типа рейда.
Для тестирования советую использовать утилиту fio
http://www.linux.com/archive/feature/131063

Кстати, первый тест проводил на Core I5 760 на 10 рейде с 8 гб win7 php5.3, второй на квадре софтовый рейд 1 на двух канвас блуе, дебиан php 5.2, все как CGI
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
БЛИН ПОЧЕМУ ТАК!!!! Почему у кодекса такие высокие числа
Потому что в тот момент у меня может быть не нагружена дисковая система или хрен знает еще что. Последний тест вообще мой - чистый прикол с shm разделом) Там где 15,9к
 

craz

Нестандартное звание
1 делить на что-то > 1 всегда получиться число < 0, как у етбя тысячи получаются?

Что бы вычислить среднее время записи/чтения и т.п. 100 файлов нужно взять суммарно затраченное время и разделить на количество интераций.
Кстати, еще в коде не хватает clearstatcache

Еще скорость зависит от размере буфера, от размере ноды в рейде, типа рейда.
Для тестирования советую использовать утилиту fio
http://www.linux.com/archive/feature/131063

Кстати, первый тест проводил на Core I5 760 на 10 рейде с 8 гб win7 php5.3, второй на квадре софтовый рейд 1 на двух канвас блуе, дебиан php 5.2, все как CGI
нуда я прогнал не 1 делить а 100 итераций на разницу времени без записи и с записью там получается меньше 1 число поэтому и получаються 1000

тест не мой это так тестируют битрикс производительность конфигурации
 

craz

Нестандартное звание
Потому что в тот момент у меня может быть не нагружена дисковая система или хрен знает еще что. Последний тест вообще мой - чистый прикол с shm разделом) Там где 15,9к
да все равно много там где 4000 у меня не получается так на VDS на своем
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
craz
Имеется мнение, и не только мое, что товарищи с Битрикса, слишком много кюшать, то есть зажралис ;)
 
  • Like
Реакции: craz

craz

Нестандартное звание
я бы сказал они оку-ели!) а не просто много кушают
 

Активист

Активист
Команда форума
Что это за кеш такой пиздец, простите. Сколько у тебя посетителей? Какие ресурсы выделяются.

У меня на сервере с двумя канвасблуе в софтовом рейде на квадре работает MySQL, почта ~ 20 000 тыс. писем/сутки, 100 клиентов. среднее количество хитов на сервере ~400 000 в сутки (на бекэнд в виде апача), сколько там обрабатывает nginx не знаю, memcached, всего 2ГБ оперативы, при этом
serv002:~# uptime
06:19:10 up 96 days, 10:38, 1 user, load average: 0.65, 0.60, 0.67 (при этом 3 ядра просто спят)
Код:
serv002:~# iostat
Linux 2.6.26-2-686 (serv002)        04/19/2011      _i686_

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.02    0.00    1.16    4.36    0.00   87.45

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              42.26       161.81       392.43 1348337746 3270051528
sda1              0.00         0.71         0.00    5885722      36320
sda2              2.31        14.78       176.04  123161400 1466878024
sda3             27.39       407.35       487.09 3394346330 4058864744
sda4              0.00         0.00         0.00         68          0
sda5              6.04        54.40       123.38  453268736 1028084856
sda6              0.66        84.71       320.32  705887005 2669202152
sda7              0.79         7.34        23.91   61179552  199274792
sda8              2.66         9.35        42.22   77875154  351801616
sda9              1.42        63.70       222.86  530785304 1857091104
sda10             1.00        34.91        27.45  290915066  228752512
sdb              42.19       162.58       392.43 1354735228 3270051528
sdb1              0.00         0.71         0.00    5885160      36320
sdb2              2.31        14.65       176.04  122085410 1466878024
sdb3             27.36       408.16       487.09 3401150024 4058864744
sdb4              0.00         0.00         0.00         68          0
sdb5              6.02        54.99       123.38  458212426 1028084856
sdb6              0.65        84.71       320.32  705915754 2669202152
sdb7              0.78         7.34        23.91   61203570  199274792
sdb8              2.65         9.35        42.22   77904000  351801616
sdb9              1.41        63.18       222.86  526491304 1857091104
sdb10             1.00        34.90        27.45  290854136  228752512
md0               0.00         0.00         0.00       9250      24448
md1              21.56        15.37       169.01  128036370 1408321576
md2              92.57       187.58       476.25 1563039770 3968541608
md3              15.55        67.20       110.86  559946002  923784568
md4              39.97         0.67       319.32    5568490 2660863016
md5               2.72         0.62        21.20    5172082  176649640
md6               4.16         4.63        32.80   38568226  273344752
md7              28.10       112.81       217.63  940065424 1813489824
md8               2.75         0.82        21.55    6802410  179550400
Код:
serv002:~# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  7   1  87   4   0   0| 840k 1816k|   0     0 | 1.1B  2.6B| 268  1222
 11   1  87   1   0   0|  48k  848k|  75k  516k|   0     0 | 682  2155
 10   2  88   0   0   0|   0  2128k|  72k  212k|   0     0 | 509  2462
  3   1  96   0   0   0|   0  1344k|  68k  219k|   0     0 | 304   557
  7   1  92   0   0   0|   0   352k|  75k  332k|   0     0 | 471  1081
 21   4  75   0   0   0|   0  5984k|  87k  454k|   0     0 | 733  2196
  7   1  92   0   0   0| 520k    0 |  91k  232k|   0     0 | 586  1753
  9   2  88   0   0   0|  16k 4336k|  74k  319k|   0     0 | 646  1410
  4   2  93   0   0   0|8192B 1344k|  82k  210k|   0     0 | 355  1286
  8   2  91   0   0   0|   0   864k|  77k  333k|   0     0 | 500  1023
  1   0  99   0   0   0|   0  3616k|  76k  283k|   0     0 | 482   610
 18   3  78   1   0   0|   0  2320k|  81k  450k|   0     0 | 638  1964
 10   1  89   0   0   0|   0   784k|  88k  461k|   0     0 | 700  1461
 17   1  78   4   0   0|4944k 1360k|  94k  474k|   0     0 | 664  2399
 14   3  83   0   0   0| 160k  336k|  93k  432k|   0     0 | 599  1518
  8   2  89   1   0   0|8192B 4864k|  88k  376k|   0     0 | 584  1757
  7   3  90   1   0   0| 512k 1520k|  66k  148k|   0     0 | 275   927
 15   2  81   2   0   0|   0  4624k|  79k  385k|   0     0 | 829  1646
  5   1  94   0   0   0|   0    32k|  74k  311k|   0     0 | 415  1024
 16   5  79   0   0   0|  48k 2576k|  84k  397k|   0     0 | 691  4626
  9   2  90   0   0   0|   0  3600k|  80k  328k|   0     0 | 506  1407
  1   0  99   0   0   0|   0  1472k|  77k  392k|   0     0 | 500   514
  8   1  91   0   0   0|   0  2432k|  87k  263k|   0     0 | 527  1253
  8   1  90   0   0   0|   0     0 |  89k  245k|   0     0 | 371   979
  3   1  96   0   0   0|   0   544k|  69k  257k|   0     0 | 388   923
 20   3  77   0   0   0|   0  4048k|  72k  237k|   0     0 | 441  1590
 31   3  65   0   0   0|   0     0 |  73k  183k|   0     0 | 272   876
  5   1  94   0   0   0|   0  4320k|  76k  507k|   0     0 | 719   849
 18   1  81   0   0   0|   0     0 |  68k  215k|   0     0 | 293   634 ^C
serv002:~#
Код:
serv002:~# hddtemp /dev/sd?
/dev/sda: WDC WD3200AAKS-00UU3A0: 32°C
/dev/sdb: WDC WD3200AAKS-00UU3A0: 32°C
serv002:~#

serv002:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +38.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +40.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +35.0°C  (high = +84.0°C, crit = +100.0°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +35.0°C  (high = +84.0°C, crit = +100.0°C)
Может тебе статику лучше отдавать через nginx?
 

Активист

Активист
Команда форума
Кстати. Под /tmp у меня выделен reiserfs, он лучше работает с мелкими файлами и более устойчив к их количеству, а также производительнее. В случае если слетит форматнул и все нормально ))
Код:
serv002:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/md1        /               ext3    errors=remount-ro 0       1
/dev/md0        /boot           ext3    defaults        0       2
/dev/md2        /home           ext3    defaults        0       2
/dev/md7        /tmp            reiserfs defaults        0       2
/dev/md8        /var            ext3    defaults,grpquota,usrquota        0       2
/dev/md4        /var/backups    ext3    defaults        0       2
/dev/md3        /var/lib/mysql  ext3    defaults        0       2
/dev/md6        /var/log        ext3    defaults        0       2
/dev/md5        /var/spool      ext3    defaults        0       2
serv002:~#
 

craz

Нестандартное звание
блин вот знаешь вот как будто пятиклассник попал на лекцию по термеху - я не фига не понял про что ты говоришь.
 

Активист

Активист
Команда форума
Говорю
1. Сколько посетителей у тебя и хитов
2. Файловая система какая
3. Выделенные ресурсы
4. Покажи результаты:
iostat
dstat
df -h
uname -a
5. Статистику апаче (server-status)
6. nginx используешь?
7. Сколкьо файлов во временных директориях (кеша)
8. Охарактеризуй файлы (что кешируют, размер кеша)
9. Тип ресурса (много/мало статики, какая статика, много ли логики и обработок)
Дальше думать будем

ЗЫ: выше я тебе дал характеристики одного из своего сервера, загрузки, это к тому что бы было с чем сравнить.
 

craz

Нестандартное звание
1) у меня 4 сайта - суммарно посетителей в день ~134 хостов ~505 (аналитика гугла) - как еще посмотреть можно?
2) стандартная фряшная VDS - как посмотреть?
3) Как смотреть
4)

iostat
Код:
 tty             ad5              da0              da1             cpu
 tin  tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
   1  1033 100.70  23  2.30  59.38 1455 84.35  59.38 1455 84.35   0  0  0  0 100
dstat - нет такой
df -h
Код:
Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/vdisk     30G    2.2G     28G     7%    /
devfs         1.0K    1.0K      0B   100%    /dev
uname -a
PHP:
FreeBSD scs-ntech.ru 8.1-STABLE FreeBSD 8.1-STABLE #0 r34M: Wed Nov 24 10:02:09 IRKT 2010     [email protected]:/root/src/sys/amd64/compile/ISPSYSTEM  amd64
5) не знаю как посмотреть
6) боюсь ставить - руки из жопы пока)))
7-8) ставил memcached - мне его сапорт отключил со словами
"В логах были ошибки про слишком большое количество открытых файлов в системе. Убил memcached, проблема со стилями решилась, проверьте, как остальное."
"Увеличить тариф, там дескрипторов файлов побольше, либо ограничить текущее потребление ресурсов для memcached настройками."
 

Активист

Активист
Команда форума
Оформлять такие копипасты лучше в [ code ], а не PHP, там используется другой шрифт.

1. ~134 хостов ~505 (аналитика гугла)
Эм. 134 или 505, хостов или тыс. хостов?

2. cat /etc/fstab (вроде во фряхе там же)

3. Сколько CPU дают, сколько mem

4. dstat установи из портов (должен быть в sysutils)

5. Статистика апаче смотрится путем установки модуля (к апачу) mod_status и его настройки

6. Поставь нгинкс, статику отдавай через него.

Так и не ответил на (про мемкеш я не спрашиваю):
8. Охарактеризуй файлы (что кешируют, размер кеша)
9. Тип ресурса (много/мало статики, какая статика, много ли логики и обработок)
 

craz

Нестандартное звание
1. ~134 хостов ~505 (аналитика гугла)
Эм. 134 или 505, хостов или тыс. хостов?
Хостов у меня не хайлоад) у меня хуже у меня битрикс мультисайтовая конфа))))))))))
2. /cat/fstab (вроде во фряхе там же)
не не нашел( как погуглить?
3. Сколько CPU дают, сколько mem
щас стоит дорогой тариф на тест, буду понижать, 1ГЦ и 1.5Гб памяти
4. dstat установи из портов (должен быть в sysutils)
Код:
scs-ntech# make search name=dstat
Port:   tcpdstat-0.9
Path:   /usr/ports/net/tcpdstat
Info:   A tool for generating statistics from tcpdump (libpcap) files
Maint:  [email protected]
B-deps:
R-deps:
WWW:    http://staff.washington.edu/dittrich/talks/core02/tools/tools.html

Port:   bsdstats-5.5_1
Path:   /usr/ports/sysutils/bsdstats
Info:   Monthly script for reporting anonymous statistics about your machine
Maint:  [email protected]
B-deps:
R-deps:
WWW:    http://www.bsdstats.org/

Port:   squidstats-54_1
Path:   /usr/ports/www/squidstats
Info:   A collection of simple statistical analysis bits for Squid
Maint:  [email protected]
B-deps: perl-5.10.1_3
R-deps: bison-2.4.3,1 bitstream-vera-1.10_4 cairo-1.10.2_1,1 encodings-1.0.4,1 expat-2.0.1_1 font-bh-ttf-1.0.3 font-misc-ethiopic-1.0.3 font-misc-meltho-1.0.3 font-util-1.2.0 fontconfig-2.8.0,1 freetype2-2.4.4 gamin-0.1.10_4 gettext-0.18.1.1 gio-fam-backend-2.26.1 glib-2.26.1_1 gobject-introspection-0.9.12 kbproto-1.0.5 libX11-1.3.6,1 libXau-1.0.6 libXdmcp-1.0.3 libXft-2.1.14 libXrender-0.9.5 libffi-3.0.9 libfontenc-1.1.0 libiconv-1.13.1_1 libpthread-stubs-0.3_3 libxcb-1.7 libxml2-2.7.8_1 m4-1.4.15,1 mkfontdir-1.0.6 mkfontscale-1.0.8 p5-CPAN-Meta-YAML-0.003 p5-Config-IniFiles-2.65 p5-ExtUtils-CBuilder-0.2802_1,1 p5-ExtUtils-Install-1.54 p5-ExtUtils-ParseXS-2.22.03 p5-Module-Build-0.3624 p5-Module-Metadata-1.000004 p5-Perl-OSType-1.002 p5-RRD-Simple-1.44_3 p5-SNMP_Session-1.13 p5-version-0.88 pango-1.28.3 pcre-8.12 perl-5.10.1_3 pixman-0.21.4 pkg-config-0.25_1 png-1.4.5 python27-2.7.1_1 renderproto-0.11 rrdtool-1.4.5 xcb-util-0.3.6_1 xorg-fonts-truetype-7.5.1 xproto-7.0.16
WWW:    http://code.google.com/p/squidstats/
чето нет такого
5. Статистика апаче смотрится путем установки модуля (к апачу) mod_status и его настройки
Пошел ставить
6. Поставь нгинкс, статику отдавай через него.
Боюсь(
Так и не ответил на (про мемкеш я не спрашиваю):
8. Охарактеризуй файлы (что кешируют, размер кеша)
9. Тип ресурса (много/мало статики, какая статика, много ли логики и обработок)
Кешериются компоненты битрикса, в битриксе полно г... дергающего базу и файлы кеша. Я не могу оценить это кол-венно
 

craz

Нестандартное звание
Включено ограничение open_basedir
На shared хостинге сложно отделить клиентов друг от друга, самый простой вариант, который обычно используют: включить open_basedir, тогда на все операции с файлами происходит дополнительная проверка пути. Что существенно снижает производительность. Решением будет использовать свой экземпляр apache для каждого пользователя или установка дополнительных модулей на сервер для ограничения доступа. В случае своего сервера или VPS ограничение open_basedir ставить не нужно! Доступ ограничивается системой для пользователя веб сервера.
Это че правда???
 

Активист

Активист
Команда форума
Это не правда. У меня работает PHP как CGI c suphp (suexec), таким образом легко отделить юзеров. open_basedir не сказывается на производительности.

> щас стоит дорогой тариф на тест, буду понижать, 1ГЦ и 1.5Гб памяти
УУееее... Тебе 500 пользователям в день не хватает 1 ГЦ и 1.5 ГБ памяти! Убиться нах об стену! У меня при 400 000 реквистов к PHP на бекэнд в виде апача который на том же сервере - сервер "отдыхает", фреймворки не использую, только нужное подрубаю, ни каких особо кешей не использую, все с субд берет (в основном по примари кею).

Я в шоке. А еще мне интересно зачем так часто и много обращаться к диску? зачем так много открытых файлов (именно открытых) и еще как мемкеш влияет на максимальное количество дескрипторов откытых файлов???

Я четыре года назад ставил битрик, один раз, на пол часа. Все.
 

craz

Нестандартное звание
кто говорит не хватает? медленно я считаю просто или нет?

4 секунды на загрузку DOMa, норм?? 0.1193 секунд генерация пустой страницы.

У меня при 400 000 реквистов к PHP на бекэнд в виде апача который на том же сервере - сервер "отдыхает", фреймворки не использую, только нужное подрубаю, ни каких особо кешей не использую, все с субд берет (в основном по примари кею).
самописная и у меня столько же бы держала.

Я в шоке. А еще мне интересно зачем так часто и много обращаться к диску?
зачем так много открытых файлов (именно открытых)
как ты видишь?
и еще как мемкеш влияет на максимальное количество дескрипторов откытых файлов???
я не знаю пошлите меня почитать ваще как его настраивать - полное г. какое то нахожу.

а у нас тут такой принцип вон видишь эти себе поставили битрикс они че дураки? не они не дураки, если бы он не работал, они бы его не поставили, доказать что либо можно только протестировав и все настроив, чем и занят, да и по сути не охота мне щас все переписывать на другой CMS - уже дохрена время на это убожество потратил. Вот и сижу выжимаю из него все соки. Но тут работы не на наделю даже. Я вот только не понимаю - почему я(в смысле клиент 1С) этим должен заниматься, а не они.
 

Активист

Активист
Команда форума
У меня генерация пустой страницы - 0 мсекунд :)) :))

> Увеличить тариф, там дескрипторов файлов побольше,
> либо ограничить текущее потребление ресурсов для memcached настройками."
там дескрипторов файлов побольше - какие нахер дескрипторы файлов????! Мемкеш не открывает файлы, он хранит данные в ОЗУ. Или я не прав, подскажите!

Почему 1С не занимается?! Советую тебе когда-нибудь попробывать поддерживать 1С, ты узнаешь.
- Для получение технической консультационной поддержки ты должен оформить подписку 1С (и всем похер что ты купил их продукт), тебе даже на имел не отправят пьсьмо. Я один раз позвонил в 1С и послал их всех накуй, после фразы - мы не даем консультационыне услуги без ИТС (итс был, но просрочен слегка, а там РИБ выгружал на пустых базах 4 гига по ФТП, причем выливал долго и упорно сверху еще что-то). Дк, эти суки, позвонили директору (я зам гендиректора) и с казали - ваш сотрудник выругался, матами, на нас, на что они получили такое же, но чуть более в мягкой форме (вот млять, позвонить - они могут, а на вопрос о глюке их софта ответить не могут).
- Для внесение изменений, например, в форму счета (внести текст понадобилось "Внимание. У нас изменились реквизиты") - ты уже не можешь обновлять конфигурации, он становится нетипичной и снимается с авто. обновления (и вообще обновления).
- Если у тебя не типичная конфигурация - ты должен куеву тучу заплатить толстому барадатому дядьке, который нихера не понимает в 1С и умеет нажимать пару кнопок (но при этом владеет замечательными файлами которые все могут сделать и без него)
- Что бы мигрировать на какую-нибудь конфигурацию, ты должен убиться нахер об стену, а бухгалтера умереть от шока, потому что е...е прводки не идут, сальдо с бульдо не сходятся, а остатки ТМЦ вообще неипические, да должен остался, тому пример отказ от подержки конфигурации 1.6 и обязательная миграция на 2.0;
- 1С вообще не умеет выполнять две опирации одновременно, а сколь угодно долгие операции висят нахер в хламину, и 1С похер, что у тебя встало производство;
- Если в БД на файлах вдруг возникла ошибка - то все, кабздец, ни дб чекер, ни проверка бд из конфигуратора не момогут тебе решить эту проблему, лишь в редких исключениях. При этом, что бы решить проблему - в 1С и их дилерах всегда есть, сцуко, в загашниках (т.е., в закрытых источниках), великолепное млять лекарство, которое нужно только запустить, но при этом, ты сцуко переругаешься с ними, а потом они скажу - а да, бывает, вот вам файлик, и ничего, что я потратил день, что бы млять понять что значит "ОШибка создание обьекта -100500. Контекст привет".
- Недавно мигрировали на 2.0, выгрузка двух из трех баз шла в вечной рекурсии, при этом, ложив мой комп нахер в хламину (core i5 - 760), что-то писала в tmp со скоростью 250 МБ/сек, при этом тупо обнуляя файлы, я ждал день, ничего не вышло, выгрузить так и не удалось.
- Обновления 1С форм, делает где-нибудь за пару дней до здачи отчености, при этом, экстренные пачи с напильниками делают они за день)))
- Что бы твоя 1С работала нужно железо просто пипец.

Битрикс пошел по тому же пути.

Более иллюзорно тут http://lurkmore.ru/1C
 
Сверху