Страница 1 из 1

Медленная работа с винтом

Добавлено: 2011-07-11 11:33:57
zeone
Добрый день! Давненько я тут не появлялся, но вот припекло и не знаю что делать надеюсь на вашу помощь.
Ситуация следующая, есть сервер фрибсд который крутиться на виртуалке, он используется как файл помойка. На нем стоит апач мускул, 2 фтп (всфтп и пурфтп) и самба. Два фтп мне нужны для того чтоб при заходе из мира просило авторизацию а из локальной сети пускало анонимов, установил путем развешивания их на разные порты и редиректа при помощи фаервола.
И так собственно проблема ни фтп ни самба не дают скорости больше 4мб, и то 4мб в лутшем случае обычно 1,3-2мб. Такое ощущение что фряха не может работать с винтами быстрее. Для файл помойкия подмонтировал винт размером 1Тб, но и на родной (системный) винт пишет не лучше

Приведу конфиги самбы, фтп, загружености системы и фаервола

samba

Код: Выделить всё

        workgroup = PARTY2
        realm = PARTY2.AVEC
        server string = Samba
        interfaces = em0
        security = ADS
        auth methods = winbind
        null passwords = Yes
        password server = 192.168.9.125
        log level = 2
        log file = /var/log/samba/log.%m
        max log size = 50
        smb ports = 139
        name resolve order = hosts wins bcast lmhosts
        client signing = Yes
        socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
        os level = 0
        local master = No
        domain master = No
        dns proxy = No
        wins server = 192.168.9.125
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = Yes
        hosts allow = 127.0.0.1, 192.168.9.
        case sensitive = No
        client ntlmv2 auth = yes
        nt acl support = yes

        dos charset = cp1251
        unix charset = utf-8
        display charset = cp1251
[Install]
        path = /ftp/files/install
        invalid users = @Ftp_deny
        admin users = @Ftp_admins
        write list = @Ftp_admins
        read only = No
        hosts allow = 192.168.9., 127.0.0.1, 192.168.1., 192.168.2., 192.168.3.


pure-ftp

Код: Выделить всё

ChrootEveryone              yes
# TrustedGID                    100
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
 MySQLConfigFile               /etc/pureftpd-mysql.conf
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
PassivePortRange          30000 50000
# AnonymousRatio                1 10
AntiWarez                   yes
# AnonymousBandwidth            8
# UserBandwidth             8
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
#TrustedIP                  10.1.1.1
LogPID                     yes
 AltLog                     clf:/var/log/pureftpd.log
 AltLog                     stats:/var/log/pureftpd.log
 AltLog                     w3c:/var/log/pureftpd.log
#NoChmod                     yes
#KeepAllFiles                yes
#CreateHomeDir               yes
#Quota                       1000:10
#PIDFile                     /var/run/pure-ftpd.pid
#CallUploadScript yes
MaxDiskUsage               99
# Set to 'yes' if you don't want your users to rename files.
#NoRename                  yes
CustomerProof              yes
# PerUserLimits            3:20
# NoTruncate               yes
# TLS                      1
# IPV4Only                 yes
# IPV6Only                 yes
# FileSystemCharset     big5
# ClientCharset         big5
Как вы заметили то пур фтп работает через мускум поэтому показую и этот конфиг. В нем я много изменений не делал но на всякий случай покажу весь конфиг
pureftpd-mysql.conf

Код: Выделить всё

MYSQLServer     127.0.0.1
# MYSQLPort       3306
MYSQLSocket     /tmp/mysql.sock
MYSQLUser      пользователь
MYSQLPassword   пароль
MYSQLDatabase  база
MYSQLCrypt      md5
MYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
#MYSQLDefaultUID 1000
MYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
#MYSQLDefaultGID 1000
MYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
# MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"
# MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"
# MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
# MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
# MySQLForceTildeExpansion 1
# MySQLTransactions On
Не обращайте внимания на попытку конвертировать кодировку vsftpd, я просто хотел сделать юзверям шару и сделать доступ по втп к этой шаре... но мои попытки не увенчались успехом... в этом провале гршу на самбу
vsftpd

Код: Выделить всё

convert_charset_enable=YES
local_charset=utf8
remote_charset=CP1251
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
upload
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
no_anon_password=YES
anon_root=/ftp/files
#connect_from_port_20=YES
async_abor_enable=YES
use_localtime=YES
ftpd_banner=Hello! We come in peace!
listen_port=51
background=YES
secure_chroot_dir=/ftp
загруженость системы вывожу командой TOP

Код: Выделить всё

CPU:  0.4% user,  0.0% nice,  0.0% system,  1.5% interrupt, 98.1% idle
Mem: 70M Active, 101M Inact, 43M Wired, 308K Cache, 111M Buf, 779M Free
Swap: 991M Total, 991M Free
Ну и сами параметры фаервола, точнее редиректа портов

Код: Выделить всё

[root@tehas /usr/home/zeone]# ipfw show | grep 21
00050   2197    166912 allow tcp from any to me dst-port 61337
00052     86      4040 fwd 192.168.9.248,51 tcp from 192.168.0.0/16 to 192.168.9.248 dst-port 21 via em0
00200      0         0 allow tcp from any to 77.88.202.53 dst-port 21 keep-state
00210      0         0 allow icmp from any to 77.88.202.53 keep-state

00051   1924    401908 allow tcp from me 61337 to any
00052     86      4040 fwd 192.168.9.248,51 tcp from 192.168.0.0/16 to 192.168.9.248 dst-port 21 via em0

Прослушка портов

Код: Выделить всё

[root@tehas /usr/home/zeone]# sockstat | grep ftp
root     vsftpd     1616  3  tcp4   *:51                  *:*
root     pure-ftpd  1135  3  dgram  -> /var/run/logpriv
root     pure-ftpd  1135  4  tcp4   *:21                  *:*
Ну вот и все скажите что необходимо и я с радостью предоставлю вам эту информацию, заранее спасибо

Re: Медленная работа с винтом

Добавлено: 2011-07-11 22:47:01
FiL
zeone писал(а): И так собственно проблема ни фтп ни самба не дают скорости больше 4мб, и то 4мб в лутшем случае обычно 1,3-2мб. Такое ощущение что фряха не может работать с винтами быстрее.
а локально (не по сети) какая скорость обращения к диску? хотя-бы простым dd почитать в /dev/null и посмотреть чего получится.

Re: Медленная работа с винтом

Добавлено: 2011-07-12 7:59:34
Neus
Ситуация следующая, есть сервер фрибсд который крутиться на виртуалке..
Ответ в твоем вопросе

Re: Медленная работа с винтом

Добавлено: 2011-07-12 10:10:10
GhOsT_MZ
Виртуалки тоже разные бывают. А вдруг у него достаточно мощный сервер и стоит гипервизор с несколькими виртуальными серверами? При таком раскладе скорость должна быть все равно не мизерная.

Re: Медленная работа с винтом

Добавлено: 2011-07-12 13:17:09
zeone
Сервер к сожалению деревянный 8( на виртуалку я тоже грешу ,для теста поставил убунту сейчас самбу настрою посмотрю как на ней будет шевелиться если нет то проставлю напрямую на железку фрибсд и не буду париться.
FiL
За совет спасибо. Попробую Потестить

Re: Медленная работа с винтом

Добавлено: 2011-07-13 10:05:54
zeone
Попробовал потестить 2-мя утилитами показало следующее

Код: Выделить всё

[root@tehas /usr/home/zeone]# diskinfo -t da1s1d
da1s1d
        512             # sectorsize
        1099506046464   # mediasize in bytes (1.0T)
        2147472747      # mediasize in sectors
        0               # stripesize
        32256           # stripeoffset
        133673          # Cylinders according to firmware.
        255             # Heads according to firmware.
        63              # Sectors according to firmware.
                        # Disk ident.

Seek times:
        Full stroke:      250 iter in   0.638560 sec =    2.554 msec
        Half stroke:      250 iter in   1.952590 sec =    7.810 msec
        Quarter stroke:   500 iter in   4.590447 sec =    9.181 msec
        Short forward:    400 iter in   0.673341 sec =    1.683 msec
        Short backward:   400 iter in   1.984816 sec =    4.962 msec
        Seq outer:       2048 iter in   0.982367 sec =    0.480 msec
        Seq inner:       2048 iter in   1.103477 sec =    0.539 msec
Transfer rates:
        outside:       102400 kbytes in   0.810713 sec =   126309 kbytes/sec
        middle:        102400 kbytes in   3.256745 sec =    31442 kbytes/sec
        inside:        102400 kbytes in   0.864064 sec =   118510 kbytes/sec
При закачки файла по фтп максимальная скорость была 3,5 мб утилита systat -vmstat 1 показала следующее
[img=http://i.piccy.info/i5/81/33/1733381/ftp_800.jpg]
Результат тойже утилитой но только при закачке через самбу. Максимальная скорость около 2,5мб
[img=http://i.piccy.info/i5/89/33/1733389/samba_500.jpg]

Отдельно на виртуалке поднял убунту там пробовал самбу и фтп, прирост скорости получил 1-3мб/с но все равно мало, если для самбы еще и терпимо то для фтп както не то. Прийдется ставить на железку...

Re: Медленная работа с винтом

Добавлено: 2011-07-14 6:57:00
FiL
systat не тестирует, а только показывает текущую скорость.
diskinfo показал, что скорость таки зашкаливает за 100МБ/с (странно, что один из тестов дал 30, но этого все равно хватит для самбы).

Так что дело не в диске.
Теперь надо потестировать сеть. iperf-oм каким-нить. ну а потом уже смотреть что там где и с чем.

Re: Медленная работа с винтом

Добавлено: 2011-07-14 11:14:27
zeone
FiL
Не уверен что правильно сделал тест, но получил чтото такое:

Стартовал клиент на виртуалке с убунтой

Код: Выделить всё

root@newyork:~# iperf -u -c 192.168.9.248 -n 10m -p 21
------------------------------------------------------------
Client connecting to 192.168.9.248, UDP port 21
Sending 1470 byte datagrams
UDP buffer size:  112 KByte (default)
------------------------------------------------------------
[  3] local 192.168.9.250 port 58076 connected with 192.168.9.248 port 21
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-80.0 sec  10.0 MBytes  1.05 Mbits/sec
[  3] Sent 7134 datagrams
[  3] WARNING: did not receive ack of last datagram after 10 tries.
На самом сервере както странно работает, через самый просто тест что на википедии увидел, утилита какбы стартует и висит... Я решил что по принципу клиент сервер она просто ожидает коннекта от клиента, но при тестировании с убунты серверная чать ничего не показала.
з.ы. не обращайте внимание на порт который слушает сервер до этого я его стартовал на 21

Код: Выделить всё

[root@tehas /usr/ports/benchmarks/iperf]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------


Re: Медленная работа с винтом

Добавлено: 2011-07-14 16:53:30
FiL
вот ведь... iperf вообще только 1 мегабит намерял. В общем, с сетью что-то странное на виртуалке.
у меня между виртуалкой и хостом так -

Код: Выделить всё

root on freebsd:~> iperf -c centos.home -n 1000m
------------------------------------------------------------
Client connecting to centos.home, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.6 port 19141 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-34.0 sec  1000 MBytes   247 Mbits/sec
И я таки считаю, что маловато будет. Просто лень разбираться.

Re: Медленная работа с винтом

Добавлено: 2011-07-14 20:11:31
zeone
Да ты прав завтра на работе пороюсь в виртуалке может там что то напортачил 8(

Re: Медленная работа с винтом

Добавлено: 2011-07-15 12:02:24
zeone
Многие в интернете жалуються что скорость между виртуальной машиной и хостом маленькая на уровне 10мб, и ни одного верного решения 8(

Re: Медленная работа с винтом

Добавлено: 2011-07-15 15:12:39
Electronik
а какая VM?

Re: Медленная работа с винтом

Добавлено: 2011-07-15 19:59:02
zeone
Стыдно признаться ели вспомнил эту команду 8)

Код: Выделить всё

[root@CALIPSO zeone]# uname -a
Linux CALIPSO 2.6.18-164.ESX
Стоит ESX 4.1

Re: Медленная работа с винтом

Добавлено: 2011-07-19 9:08:05
zeone
Мне посоветовали попробовать ентерпрайз лицензию но увы... Может у кого то есть какие либо идеи?