|
|
Theo ý kiến của mình thì mình thấy nhiều tầng sẽ gây chậm cho cả request & response trong khi Nginx cũng có thể cache(khá tốt) sao bạn không dùng Nginx để cache luôn, bỏ Varnish đi cho đỡ phức tạp trong việc quản lý và maintain và tăng hiệu xuất hệ thống.
|
|
|
TjnD3cK3n wrote:
Hi all, hiện tại mình muốn dùng Python để dùng xử lý date với yêu cầu
- lấy ra ngày tháng hiện tại --> ok
- lấy kết quả ở trên trừ cho 1 số nguyên ngày (ví dụ 50 ngày) --> kết quả sẽ ra ngày tháng sau khi trừ đi
ai có phương pháp code nào chia sẽ cho mình với, hiện tại mình làm nhưng lỗi hoài, do cũng mới tập tành Python nên mạo muội hỏi các bạn. Mình cũng đã đọc 1 số document trên trang python.org nhưng thực sự nhiều quá, thấy tùm lum hết.
Thanks all.
Code:
day = datetime.datetime.now() - datetime.timedelta(days=i) # i=-50
|
|
|
CoolMD wrote:
Mình compile Apache trên CentOS 5.x x64 không ở torng default folder mà mình để là /etc/apache chạy bình thường nhưng khi start httpd thì nó sinh ra 1 file là gmon.out, mình không biết làm sao đọc cái file này và google nhiều rồi cũng chưa tìm ra.
Anh em nào đã gặp trường hợp này chưa, hướng dẫn giùm nhe
Đây là file của mình
Code:
http://www.mediafire.com/?za6cq2xu4gpmgwq
Trong Apache Error log show như thế này khi restart
Code:
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
_mcleanup: gmon.out: Permission denied
Bạn thử tìm hiểu GNU gprof xem sao.
|
|
|
Xin chào,
Khi Server1 đang bận hoặc là xử lý nhiều request thì sẽ phân phát bớt cho Server2 đang rỗi
Bạn dùng Round Robin thì số lượng request vào mỗi server là tương đối ngang nhau rồi. Tuy nhiên hiệu xuất có thể khác nhiều tuỳ thuộc vào request đó là gì.
Nếu vẫn muốn đảm bảo request giữa 2 server bạn có thể dùng Least Connections(leastconn). Ngoài ra có các
Server Weight add-on nếu các webserver trong backend có cấu hình/sức mạnh khác nhau. Tuy nhiên cái weight này là static thôi.
Nếu muốn request đẩy nhiều vào server đang sử lý nhanh hơn, it vào server đang chậm hơn. Thì bản thân load balancer phải có modules check các server này một cách real time và dựa vào các yếu tố như response time, Throughput thì mới có thể đưa ra được quyết định gửi request đến server nào trong backend. Mình nghĩ một module như thế tôn khá nhiều tài nguyên hệ thống cho cả backend và proxy,mạng ... và làm cho response time đến end user chậm hơn. Nên các load balancer băng software không support.
Mình nghĩ Dùng Round Robin là tốt rồi.
Bạn có thể tham khảo thêm tại http://haproxy.1wt.eu/download/1.3/doc/configuration.txt phần "load balance algorithm" để biết chi tiết về các algorithm mà HAproxy support.
|
|
|
Nếu dùng NFS mount thì khá cực thông qua autofs,
Mình không thấy NFS có gì cực cả, ít nhất là nhàn hơn mấy cái DFS.
vì phải phân bổ các thư mục để lưu trữ dự liệu (Nếu dự liệu lưu trữ lớn hơn space disk hiện hành, thì có thể mất dự liệu). Nhưng điều đó không hợp lý cho việc gom các space disk thành một khối để lưu trữ.
Trước khi write data thì kiểm tra free space của các vùng được mount. Viết 1 shell script copy file và kiểm tra luôn cho tiện.
Hiện nay, có khác nhiều cơ chế để lưu trữ thông qua các datanode. Tùy thuộc vào mục đích sử dụng và yêu cầu.
Tất cả các vấn đề trên sẽ ảnh hưởng rất nhiều đến traffic của network và có nguy cơ làm nghẽn nó nếu phải truyền liên tục với khối lượng dự liệu khổng lồ
Liên tục và dữ liệu lớn thì nghẽn là đương nhiên
|
|
|
Kiểu unify chính là kiểu stripe, bạn chỉ cần tạo volume kiểu stripe hoặc distributed-stripe.
|
|
|
Với nhu cầu như của bạn mình nghĩ dùng NFS mount chúng lại với nhau có lẽ hợp lý hơn là dùng 1 Distributed File System vì các hệt thống DFS thường lưu các data blocks giống nhau ở các Datanode khác nhau việc này làm tăng tính High Availability và High Performance nhưng lại giảm Storage Space một cách đang kể trong khi không cần thiết.
|
|
|
Mình thì xem các files my-huge.ini, my-medium.ini ... rồi tiến hành điều chỉnh cho phù hợp với khả năng của server và nhu cầu của mình.
|
|
|
Code:
debug1: Authentication succeeded (password).
Nhìn vào đoạn log trên thì phần authentication đã ok. Việc không đẩy được file lên server (bị treo khi đang 100%). Liệu có firewall chặn callback request đến client cho việc close sesion không nhỉ? hay có 1 cái gi đó protect I/O không nhỉ? chưa nghĩ ra
|
|
|
Ý e là e muốn xem /var/log/messages chứ không phải /var/log/secure.
|
|
|
có thông tin messages log không anh?
|
|
|
Bạn có thể sử dụng : backtrack
|
|
|
Apache đã chiếm hết RAM bạn có thể set giá trị MaxrequestPerChild xuống thấp hơn để tránh memory leak. RAM 2Gb và page view 14000/ ngày có lẽ nên để 500~800 thôi.
have fun,
|
|
|
Việc bạn cung cấp hosting thì hơi khó vì mỗi ông code một kiểu rồi vứt lên server (query gì mà 13 giây còn chưa xong ) hành hạ tài nguyên server của bạn. Mình nghĩ nên tạo một số policy như 1 query quá lâu hoặc cpu quá cao thì hệ thống sẽ kill cái process đó nhằm đảm bảo tính ổn định của server.
|
|
|
Cá nhân mình nghĩ việc dùng Cache hiệu quả hay không còn tuỳ thuộc vào nhu cầu và cách thức triển khai.
Khi dùng Cache đúng sẽ cho hiệu quả vô cùng (không phải vô lý mà các hệ thống lớn có đến hàng ngàn máy chủ caching, memcache, hbase. Các hệ quản trị csdl đều có dùng / phải dùng Cache - Trong trường hợp nào dùng như thế nào và bao nhiêu lại la chuyện khác)
Hẳn nhiên đọc dữ liều từ RAM (Random acess) nhanh hơn nhiều so với DISK (Sequense Access).
Về mặt rủi ro dữ liều RAM cũng cao hơn DISK nhưng mình hoàn toàn có thể control mức độ rủi ro này.
Lưu những dữ liều có tần xuất access cao và ít biến thiên rất hiệu quả.
Tất nhiên là put mọi thứ lên RAM thì tệ quá.
Cache is king!
|
|
|
Mấy site của khách hàng của mình cũng sài ASP.NET. Ngóng vụ này quá đi
|
|
|
giaodaulamxung wrote:
zeno wrote:
Trong trường hợp phải cấu hình trên 2 server riêng( 1 cho web 1 cho streaming) thì phải kết nối 2 con server này như thế nào để có thể mout phân vùng lưu trữ file và quản lý các file nhạc, video trên con streaming thông qua backend CMS của con web
mình nghĩ bạn chỉ cần quản lý link nhạc trong database của web server(khi post bài mới file nhạc sẽ được upload lên media server qua ftp,scp ... sau đó update link nhạc đó vào db của webserver) khi client request thi link nhạc sẽ được gen ra cùng html và lúc đó client sẽ request đến media server.
Chỗ này ý em muốn hỏi là mount thế nào để từ backend của web có thể quản ly (upload, xoá) file media nằm trên con server streaming, chứ theo ý của bác thì mỗi lần add mới 1 record phải làm 2 công đoạn là upload lên con server streaming trước xong sau đó sang con web nhập link file đó vào DB?
Tiện đây cho em hỏi luôn em đã install thành công Darwin Streaming Server trên CentOS5 (cài thử nghiệm chạy trên LAN ). Em config streaming ở port 80 và trỏ folder media vào /home/relax trong thư mục relax có file mp3 rồi. Từ một máy khác em play mp3 theo link rtsp://192.168.0.101/11.mp3 thì ko chạy được. Các bác cho hỏi có cần cấu hình hay cài đặt thêm gì nữa ko ạ?
Cảm ơn đã reply câu hỏi của em..
Để làm theo ý bạn thì bạn có thể dung NFS tuy nhiên ý mình là bạn dùng giao thưc FTP thay vì NFS. khi upload hay remove thì code sử lý kết nối đến media server thông qua ftp va upload/remote sau đó code sẽ update link file vào csdl. đây là ưng dụng do bạn viết. nếu sử dụng NFS về mặt bản chất bạn sử dụng 1 ứng dụng để file transfer dựa trên NFS protocal mà người ta xây dụng rồi chỉ việc sài. còn việc mount hay không cũng chả có nhiều ý nghĩa. tóm lại dùng 1 giao thức có thể file transfer rồi viết mã control nó là được.
|
|
|
giaodaulamxung wrote:
zeno wrote:
Trong trường hợp phải cấu hình trên 2 server riêng( 1 cho web 1 cho streaming) thì phải kết nối 2 con server này như thế nào để có thể mout phân vùng lưu trữ file và quản lý các file nhạc, video trên con streaming thông qua backend CMS của con web
mình nghĩ bạn chỉ cần quản lý link nhạc trong database của web server(khi post bài mới file nhạc sẽ được upload lên media server qua ftp,scp ... sau đó update link nhạc đó vào db của webserver) khi client request thi link nhạc sẽ được gen ra cùng html và lúc đó client sẽ request đến media server.
Chỗ này ý em muốn hỏi là mount thế nào để từ backend của web có thể quản ly (upload, xoá) file media nằm trên con server streaming, chứ theo ý của bác thì mỗi lần add mới 1 record phải làm 2 công đoạn là upload lên con server streaming trước xong sau đó sang con web nhập link file đó vào DB?
Tiện đây cho em hỏi luôn em đã install thành công Darwin Streaming Server trên CentOS5 (cài thử nghiệm chạy trên LAN ). Em config streaming ở port 80 và trỏ folder media vào /home/relax trong thư mục relax có file mp3 rồi. Từ một máy khác em play mp3 theo link rtsp://192.168.0.101/11.mp3 thì ko chạy được. Các bác cho hỏi có cần cấu hình hay cài đặt thêm gì nữa ko ạ?
Cảm ơn đã reply câu hỏi của em..
Để làm theo ý bạn thì bạn có thể dung NFS tuy nhiên ý mình là bạn dùng giao thưc FTP thay vì NFS. khi upload hay remove thì code sử lý kết nối đến media server thông qua ftp va upload/remote sau đó code sẽ update link file vào csdl. đây là ưng dụng do bạn viết. nếu sử dụng NFS về mặt bản chất bạn sử dụng 1 ứng dụng để file transfer dựa trên NFS protocal mà người ta xây dụng rồi chỉ việc sài.
|
|
|
- Liệu em có thể cấu hình cho 1 server vừa làm web server vừa làm streaming server được ko ạ.
Hoàn toàn được bạn à
Nếu cấu hình chung được thì có những yếu điểm gì ko.
chủ yếu vẫn là tài nguyên, 1 server vừa phải phục vụ media vừa phải phuc vụ web (thường phát sinh thêm tài nguyên sử lý database, php engine ...)
Trong trường hợp phải cấu hình trên 2 server riêng( 1 cho web 1 cho streaming) thì phải kết nối 2 con server này như thế nào để có thể mout phân vùng lưu trữ file và quản lý các file nhạc, video trên con streaming thông qua backend CMS của con web
mình nghĩ bạn chỉ cần quản lý link nhạc trong database của web server(khi post bài mới file nhạc sẽ được upload lên media server qua ftp,scp ... sau đó update link nhạc đó vào db của webserver) khi client request thi link nhạc sẽ được gen ra cùng html và lúc đó client sẽ request đến media server.
- Trong trường hợp này em dùng server VPS có được ko ạ?
còn tuỳ váo số lương user truy cập vào site của bạn nữa, nếu nhiều (> 500 người get media cùng lúc) thì nên thuê dedicate server. Máy ảo performance ko tốt bằng máy thật. nhưng nhìn chung là được nếu có nhiều con
|
|
|
nature8x wrote:
ai có tài liệu này không cho mình xin
thienthanbienca3006@yahoo.com
mình xin chân thành cảm ơn
Có phải cuốn này không bạn?
http://sodaphish.com/files/ebks/try2innovate.com/downloads/E-books/Networking/Network%20Intrusion%20Detection,%20Third%20Edition.pdf
|
|
|
Dear ,
Đây là một cuốn sách hữu ích cho a e muốn triển khai webserver trên Linux.
Abstract
Every construction project relies on a few critical components. When building a house, the critical components include the foundation, plumbing, and electrical wiring. When building a computing environment, the critical components include a robust operating system, file, and network services.
This IBM Redbooks publication takes a modular approach to building an e-business on demand infrastructure. It covers many topics including Linux installation on IBM eServer BladeCenter and IBM Fibre Array Storage Technology (FAStT) storage area network (SAN) storage. This book explains:
* How to implement failover for core Internet services
* How to use a single LDAP directory for Linux system accounts, Apache, Samba, Postfix, Sendmail, and Jetspeed
* An implementation of load balanced services using Linux Virtual Server (LVS), and failover with Linux Heartbeat
* How to install and configure critical file services using Linux, Network File System (NFS), Samba, and IBM FAStT storage
* Practices for security, systems management, configuration, and performance
If you are looking to reduce the cost of your computing infrastructure, provide critical IT services, install Linux on BladeCenter blades, and install and configure SAN storage with Linux and BladeCenter, this book is for you.
Table of contents
Chapter 1. About the book: Blueprint for building an e-business application for BladeCenter
Chapter 2. Architecture: Solution overview
Chapter 3. Foundation
Chapter 4. Plumbing: Network infrastructure
Chapter 5. Wiring: File services with Samba and NFS
Chapter 6. Doorways: Web serving and messaging
Chapter 7. Living spaces: Applications and portal server
Chapter 8. Cabinetry: Open source databases
Chapter 9. Security
Chapter 10. Household maintenance: System management and application development
download
Code:
http://www.redbooks.ibm.com/abstracts/sg247034.html
Ngoài ra trên trang http://www.redbooks.ibm.com/ có nhiều tài liệu hữu ích khác.
thanks,
|
|
|
Cảm ơn ý kiến của anh em.
Thực tình mình chưa gặp qua cái lỗi kiểu này bao giờ. Mình cũng đã sài nhiều distro và phiên bản Linux khác nhau. Việc đọc ghi vài chục đến 100Gb cũng là chuyện bình thường.
Mình nghĩ chắc gặp vấn đề với ổ cứng vì kerner và CentOS theo mình nghĩ thì không thể có lỗi I/O kiểu này được, có lẽ ổ cứng quá cũ rồi. Mình cũng đã tiến hành thay thế ổ cứng thay vì đi khắc phục 1 cái ổ đã cũ (vì server này có tần xuất đọc/ghi ổ cứng cực lớn).
thanks,
|
|
|
hi all,
Mình đang có 1 em server CentOS 5. hôm nay mình upload lên server khoang 100Gb dữ liệu, mỗi file trung bình khoảng 10Mb thông qua FTP (ProFTPD Version 1.3.3a). Upload trong local capble ethernet 100Mb/s, upload được khoảng 5-6 Gb . Thì server bị lỗi journal commit I/O error
Mình thử 2 lần đều bị dẫn đến IO error (không đọc ghi được file gì nữa và phải restart hệ thống)
Mình xem mesage log thì nó báo như sau:
cat /var/log/messages:
Code:
cat: /var/log/messages: Input/output error
tail /var/log/messages:
Code:
Aug 10 09:33:21 localhost kernel: BAN_IN:IN=et OUT= MAC=00:04:23:e0:c6:a8:00:15:17:c7:ff:bd:08:00 SRC=210.245.86.202 DST=210.245.86.210 LEN=1500 TOS=0x00 PREC=0x00 TTL=128 ID=22040 DF PROTO=TCP SPT=2994 DPT=33216 WDWIDT.210 DSEC=0x00 TTL=64 ID=33426 =TCP SPT=336 DPT=2994 WINDOW=12288 RES=0x00 ACK URGP=0
Aug 10 09:33:21 localhost kernel: :23:e0:c6:a8:00:15:82 DST=210.245.86.210 LEN=1500 TOS=0x0EC=0x00 TTL=128 ID=22056 DF PROTO=TCP SPT=2994 DPT=33216 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:21 localhost kernel: <4:23:e0:c6:a:00:08:00 SR.245.02 ST=210.24586.210 LEN=1500 TOS=0x00 PREC=0x00 TTL=128 ID=22061 DF PROTO=TCP SPT=2994 DPT=33216 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:24 localhost kernel: TL=64 ID=31651 DF PROTO=TCP SPT=37088 DPT=2995 WINDOW=12288 RES=0x00 ACK URGP=0
Aug 10 09:33:28 localhost kernel: .86.202 DST=210.245.86.210 LEN=1500 TOS=0x00 PREC=0x00 TTL=128 ID=32724 DF PROTO=TCP SPT=2995 DPT=37088 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:29 localhost kernel: <7 MAC=00:08:00 SRC=210.245.86.245.86N=1500S=0x00 PREC=0x00 TTL=128 ID=10624 DF PO=TCP SPT=2995 DPT=37088 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:30 localhost kernel: 4 ID=883 0.245.86.210 LEN=1500 TOS=0x00 PREC=0x00 TTL=128 ID=21736 DF PROTO=TCP SPT=2998 DPT=32883 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:35 localhost kernel: NDWIDTH_IIN=eth0 OUT= MAC=00:04:23:e0:c6:a8:00:15:17:c7:ff:bd:08:00 SRC=210.245.86.202 DST=210.245.86.210 LEN=1500 TOS=0x00 PREC=0x00 TTL=128 ID=1390 DF PROTO=TCP SPT=2995 DPT=37088 WINDOW=32768 RES=0x00 ACK URGP=0
Aug 10 09:33:37 localhost kernel: RES=0x00 ACK URGP=0
Aug 10 09:33:56 localhost kernel: 00 D9 WINDOW=x00 ACK URGP0
uname -a:
Code:
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
mình chạy thử
fsck:
Code:
sck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/VolGroup00/LogVol00: recovering journal
/dev/VolGroup00/LogVol00: Attempt to read block from filesystem resulted in short read while reading block 15273
JBD: Failed to read block at offset 13202
fsck.ext3: Input/output error while recovering ext3 journal of /dev/VolGroup00/LogVol00
xin hỏi a e ai có ý kiến gi không?
|
|
|
panfider wrote:
mình chỉ mong bằng sự nhiệt tình có thể gia nhập,
nhưng về trình độ thì không đáp ứng được
mà làm việc remote được không ? vì mình ở trong Nam
Làm remote thì không được rồi .
|
|
|
FCOM - VNExpress tuyển dụng
Vị trí : OpenSource Developer
Yêu cầu :
- Yêu thích OpenSource, thích học tập làm việc trên nền Opensource
- Có ít nhất 1 năm kinh nghiêm làm việc trong lĩnh vực phát triển phần mềm
- Có ít nhất 1 năm kinh nghiêm làm việc trên hệ điều hành Linux
- Thành thạo ngôn ngữ lập trình Java(Web và Desktop App), đã làm việc trên các một trong các framework : Struts, Hibernate, Spring
- Có hiểu biết về RDBMS, structured key-value store
- Có hiểu biết về ngôn ngữ lập trình C/C++ và đã làm việc với GTK là một lợi thế
- Có hiểu biết về ngôn ngữ lập trình Python là một lợi thế
- Có hiểu biết về Networking/TCP-IP là một lợi thế
- Có hiểu biết về Webservices, Thrift và các dạng lập trình phân tán khác là một lợi thế
- Có khả năng phân tích, tư duy logic tốt
- Có thể đọc hiểu, viết tài liệu bằng tiếng Anh
- Có khả năng tự học, tự nghiên cứu
- Có khả năng làm việc nhóm
Quyền lợi:
- Được làm việc trong môi trường chuyên nghiệp
- Được tham gia vào các dự án phát triển phần mềm lớn
- Cơ hội thăng tiến cao
- Được bảo đảm đầy đủ các chế độ về bào hiểm xã hội, y tế như luật lao động quy định
- Được thưởng lợi nhuận kinh doanh theo quý hoặc năm
Mức lương : Thương lượng
Bạn nào quan tâm xin gửi CV về địa chỉ email: sir.zeno@gmail.com
|
|
|
Hình như a Nguyễn Thành Nam là bác lamer nhà ta thì phải
|
|
|
mR.Bi wrote:
thử cái này http://www.ianlewis.org/en/redis-initd-script
cảm ơn mR.Bi. nhưng về cơ bản cái script này cũng giống với đoạn script của mình. không triệt tiêu được cái output của nó va kết quả vẫn bị như trên.
@secmask: great . đúng là mình chưa đọc kĩ config của nó.
vấn đề đã được giải quyết
|
|
|
Hello bà con,
Hiện tại mình đang chạy Redis database server ( http://code.google.com/p/redis/ ) trên Ubuntu
hiện tại mỗi lần vào cứ phải chạy : ./redis-server
khi chạy thi terminal sẽ có output đại loại như:
Code:
06 May 15:46:32 DB 1 (6 keys) ....
06 May 15:46:32 0 clients connected ...
sau đó mình có tạo 1 script startup cho nó tiện như sau:
Code:
#!/bin/sh
# redis startup script
# Modified for Debian GNU/Linux
DAEMON=/usr/sbin/redis/redis-server
LOCKFILE=/var/lock/subsys/redis
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=redis
DESC="redis database daemon"
test -f $DAEMON || exit 0
case $1 in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
echo "."
;;
status)
echo "$DESC: $NAME:" `pidof $NAME`
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
echo "."
;;
*)
echo "Usage: ccpd {start|stop|status}"
exit 1
;;
esac
exit 0
nhưng khi khởi động vào server, đến đoạn script này thì no cứ loop cái output của thằng Redis mà ko khởi tạo được các dịch vụ khác khiến mình phải dùng backtrack để boot vào và remove cái script kia đi (mệt)
a e ai bik có cách nào cho no chay quiet ko nhỉ, hay la phải sửa code cua thằng Redis này ko cho output thì chết.
thanks a e đã đọc,
|
|
|
Hello
Mình vẫn chưa rõ cái hệ thống tính toán phân tán của bạn định nói về cái gì. bạn nói rõ hơn chút được ko?
|
|